最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

深入了解Java包與訪(fǎng)問(wèn)控制權(quán)限

 更新時(shí)間:2022年09月23日 15:51:46   作者:亮點(diǎn)  
這篇文章主要帶你掌握J(rèn)ava中包的定義及使用以及Java中的4種訪(fǎng)問(wèn)權(quán)限,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下

1、包的概念及使用

(1)基本概念

package是在使用多個(gè)類(lèi)或接口時(shí),為了避免名稱(chēng)重復(fù)而采用的一種措施,直接在程序中加入package關(guān)鍵字即可

格式如下:

package 包名稱(chēng).子包名稱(chēng);

范例:

package org.lxh.test;
class Demo{
    public String getInfo(){
        return "Hello World !!!";
    }
}
public class Test{
    public static void main(String[] args) {
        System.out.println(new Demo().getInfo());
    }
}

此時(shí)編譯時(shí)需要加上相應(yīng)參數(shù):javac -d.Test.java

-d :表示生成目錄,生成的目錄以 package 的定義為準(zhǔn) . : 表示在當(dāng)前所在文件夾中生成

執(zhí)行完以上命令后,會(huì)自動(dòng)生成相應(yīng)的文件夾(包),之后再執(zhí)行類(lèi)時(shí)就必須輸入完整的“包.類(lèi)名稱(chēng)”

(2)import 語(yǔ)句

如果幾個(gè)類(lèi)存放在不同的包中,在使用類(lèi)時(shí)就必須通過(guò) import 語(yǔ)句導(dǎo)入

import 的語(yǔ)法格式:

import 包名稱(chēng).子包名稱(chēng).類(lèi)名稱(chēng);    //手工導(dǎo)入所需要的類(lèi)
import 包名稱(chēng).子包名稱(chēng).*;//由JVM自動(dòng)加載所需要的類(lèi)

范例:定義 org.lxh.test 目錄下的 Demo1.java

package  org.lxh.test;

public class Demo1{
  public String getInfo(){
    return "Hello World!";
  }
}

范例:在另外一個(gè)類(lèi)中引用Demo類(lèi)

import org.lxh.test.Demo1;//引用 Demo1 類(lèi)

public class Test{
    public static void main(String[] args) {
        System.out.println(new Demo1().getInfo());
    }
}

如果在一個(gè)類(lèi)中導(dǎo)入一個(gè)包中多個(gè)類(lèi)時(shí),一個(gè)個(gè)地導(dǎo)入會(huì)比較麻煩,可以使用導(dǎo)入“*” 的方式由 JVM 根據(jù)需要自己加載的類(lèi)。==但是當(dāng)一個(gè)程序中同時(shí)導(dǎo)入了兩個(gè)包的同名類(lèi),使用時(shí)就必須明確地寫(xiě)出完整的“包.類(lèi)名稱(chēng)”。==

范例:

import org.lxh.demo.a.*;//包中存在Demo類(lèi)
import org.lxh.demo.c.*;//包中存在Demo類(lèi)
public class Test{
	public static void main(String[] args){
		org.lxh.demo.a.Demo d = new org.lxh.demo.a.Demo();
		System.out.println(d.getInfo());
	}
}

(3)系統(tǒng)常見(jiàn)包

在JDK中為了方便用戶(hù)開(kāi)發(fā)程序,提供了大量的系統(tǒng)功能包,如下圖所示:

java.util包在開(kāi)發(fā)中使用較多,因?yàn)槠渲С执罅康墓ぞ哳?lèi)操作,像本書(shū)中的常用類(lèi)庫(kù)、 Java 類(lèi)集都是圍繞此包展開(kāi)講解的。

java.lang.reflect這個(gè)包一般在面試時(shí)有可能會(huì)問(wèn)到,此包屬于比較高級(jí)的開(kāi)發(fā)包。

(4)Java 新特性 – 靜態(tài)導(dǎo)入

如果一個(gè)類(lèi)中的方法全部是使用static聲明的靜態(tài)方法,則在導(dǎo)入時(shí)就可以直接使用 import static 的方式導(dǎo)入:

import static 包.類(lèi).*

范例:定義一個(gè)類(lèi),全部由靜態(tài)方法組成

package org.lxh.test;

public class Demo1{
    public static  int add(int i,int j){
        return i+j;
    }
    public static int sub(int i,int j){
        return i-j;
    }
    public static int mul(int i,int j){
        return i*j;
    }
}

使用靜態(tài)導(dǎo)入:

import static org.lxh.test.Demo1.*;//靜態(tài)導(dǎo)入

public class Test{
    public static void main(String[] args) {
        System.out.println("3+3 = " + add(3,3));
        System.out.println("3-3 = " + sub(3,3));
    }
}

由于程序中使用了靜態(tài)導(dǎo)入,所以Demo1 類(lèi)中的所有靜態(tài)方法可以直接在 Test 類(lèi)中使用,而 不需要使用 “類(lèi).靜態(tài)方法()” 的形式使用。

2、jar命令的使用

當(dāng)開(kāi)發(fā)者為客戶(hù)開(kāi)發(fā)出了一套 Java 類(lèi)之后,肯定要把這些類(lèi)交給用戶(hù)使用,但是如果所有的類(lèi)直接通過(guò) *.class 的格式給用戶(hù),會(huì)比較麻煩,所以一般情況下會(huì)將這些 *.class 文件壓縮車(chē)一個(gè)文件交付給客戶(hù)使用,那么這樣的文件就稱(chēng)為 jar 文件(Java Archive File)。

如果要想生成 jar 文件,直接使用 JDK 中 bin 目錄里的 jar.exe 就可以將所有的類(lèi)文件進(jìn)行壓縮,此命令是隨 JDK 一起安裝的,直接在命令行中輸入 jar,即可看到此命令的提示界面:

當(dāng)用戶(hù)得到一個(gè) jar 文件后,可以通過(guò)設(shè)置 classpath 的方式在系統(tǒng)中注冊(cè)號(hào)此 jar 文件,以供程序使用。

jar 命令主要使用的參數(shù)如下:

C:創(chuàng)建新的文檔

V:生成詳細(xì)的輸出信息

F:指定存檔的文件名

范例:定義一個(gè)類(lèi):

package org.lxh.test.demo;

public class Test{
    public class Test{
        public String getInfo(){
            return "Hello";
        }
    }
}

進(jìn)行編譯

javac -d.Test.java

編譯成功

將生成的 a 文件夾打包,命名為 my.jar

這個(gè)文件可以直接使用解壓軟件打開(kāi)此文件,如果想要使用此文件,需要設(shè)置 classpath:set classpath = .;G:\Java\my.jar

以上設(shè)置了兩個(gè) classpath 目錄,一個(gè)是從當(dāng)前所在的文件夾中查找,另外一個(gè)就是剛壓縮好的*.jar 文件

3、訪(fǎng)問(wèn)控制權(quán)限

在 Java 中一共存在 4 種訪(fǎng)問(wèn)控制權(quán)限,即 private,default,protected 和 public

private訪(fǎng)問(wèn)權(quán)限

private屬于私有訪(fǎng)問(wèn)權(quán)限,前面已經(jīng)介紹過(guò)private訪(fǎng)問(wèn)權(quán)限,可以用在屬性的定義、方法的聲明上,一旦使用了private關(guān)鍵字聲明,則只能在本類(lèi)中進(jìn)行訪(fǎng)問(wèn)。

default(默認(rèn))訪(fǎng)問(wèn)權(quán)限

如果一個(gè)類(lèi)中的屬性或方法沒(méi)有使用任何的訪(fǎng)問(wèn)權(quán)限聲明,則就是默認(rèn)的訪(fǎng)問(wèn)權(quán)限,默認(rèn)的訪(fǎng)問(wèn)權(quán)限可以被本包中的其他類(lèi)所訪(fǎng)問(wèn),但是不能被其他包的類(lèi)所訪(fǎng)問(wèn)。

protected訪(fǎng)問(wèn)權(quán)限

protected屬于受保護(hù)的訪(fǎng)問(wèn)權(quán)限。一個(gè)類(lèi)中的成員如果使用了protected訪(fǎng)問(wèn)權(quán)限,則只能被本包及不同包的子類(lèi)訪(fǎng)問(wèn)。

范例:設(shè)置 protected 的訪(fǎng)問(wèn)權(quán)限

package org.lxh.test;

public class HelloDemo{
    protected String name = "Java";//只能被本包及不同包的子類(lèi)訪(fǎng)問(wèn)
}

訪(fǎng)問(wèn)受保護(hù)的屬性:

import org.lxh.test.HelloDemo;

class SubHelloDemo extends HelloDemo{
    public void print(){
        System.out.println("訪(fǎng)問(wèn)受保護(hù)屬性:" + super.name);//可以訪(fǎng)問(wèn) protected 權(quán)限
    }
}

public class root {
    public static void main(String[] args) {
        SubHelloDemo sub = new SubHelloDemo();//實(shí)例化子類(lèi)對(duì)象
        sub.print();
    }
}

運(yùn)行結(jié)果;

訪(fǎng)問(wèn)受保護(hù)屬性:Java

public訪(fǎng)問(wèn)權(quán)限

public屬于公共訪(fǎng)問(wèn)權(quán)限。如果一個(gè)類(lèi)中的成員使用了public訪(fǎng)問(wèn)權(quán)限,就可以在所有類(lèi)中被訪(fǎng)問(wèn),不管是否在同一個(gè)包中。

總結(jié)訪(fǎng)問(wèn)控制權(quán)限:

4、Java命名規(guī)范

聲明類(lèi)、方法、屬性等都是有一定的規(guī)范的,此規(guī)范如下。

  • 類(lèi):所有單詞的首字母大寫(xiě),如:JavaTest
  • 方法:第一個(gè)單詞的首字母小寫(xiě),之后每個(gè)單詞的首字母大寫(xiě),如 getInfo()
  • 屬性:第一個(gè)單詞的首字母小寫(xiě),之后每個(gè)單詞的首字母大寫(xiě),如 studentName
  • 包:所有單詞的字母小寫(xiě),如 org.lxh.demo
  • 常量:所有單詞的字母大寫(xiě),如 FLAG

到此這篇關(guān)于深入了解Java包與訪(fǎng)問(wèn)控制權(quán)限的文章就介紹到這了,更多相關(guān)Java包 訪(fǎng)問(wèn)控制權(quán)限內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • java實(shí)現(xiàn)大文本文件拆分

    java實(shí)現(xiàn)大文本文件拆分

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)大文本文件拆分,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-05-05
  • 解析Apache Dubbo的SPI實(shí)現(xiàn)機(jī)制

    解析Apache Dubbo的SPI實(shí)現(xiàn)機(jī)制

    SPI全稱(chēng)為Service Provider Interface,對(duì)應(yīng)中文為服務(wù)發(fā)現(xiàn)機(jī)制。SPI類(lèi)似一種可插拔機(jī)制,首先需要定義一個(gè)接口或一個(gè)約定,然后不同的場(chǎng)景可以對(duì)其進(jìn)行實(shí)現(xiàn),調(diào)用方在使用的時(shí)候無(wú)需過(guò)多關(guān)注具體的實(shí)現(xiàn)細(xì)節(jié)
    2021-06-06
  • IDEA實(shí)現(xiàn)遠(yuǎn)程調(diào)試步驟詳解

    IDEA實(shí)現(xiàn)遠(yuǎn)程調(diào)試步驟詳解

    這篇文章主要介紹了IDEA實(shí)現(xiàn)遠(yuǎn)程調(diào)試步驟詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • springboot讀取application.yml報(bào)錯(cuò)問(wèn)題及解決

    springboot讀取application.yml報(bào)錯(cuò)問(wèn)題及解決

    這篇文章主要介紹了springboot讀取application.yml報(bào)錯(cuò)問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • Spring Boot 緩存 Cache 入門(mén)詳解

    Spring Boot 緩存 Cache 入門(mén)詳解

    本文主要介紹SpringBoot緩存的入門(mén)知識(shí),包括緩存的必要性、常見(jiàn)的緩存策略、SpringCache的注解使用、SpringBoot與緩存的集成以及Ehcache和Redis的示例,同時(shí),還提供了緩存面試問(wèn)題的思路和答案,幫助讀者更好地理解和掌握SpringBoot緩存的相關(guān)內(nèi)容,感興趣的朋友一起看看吧
    2025-03-03
  • Python連接Java Socket服務(wù)端的實(shí)現(xiàn)方法

    Python連接Java Socket服務(wù)端的實(shí)現(xiàn)方法

    這篇文章主要介紹了Python連接Java Socket服務(wù)端的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • Java中Socket實(shí)現(xiàn)數(shù)據(jù)通信的示例代碼

    Java中Socket實(shí)現(xiàn)數(shù)據(jù)通信的示例代碼

    本文主要介紹了Java中Socket實(shí)現(xiàn)數(shù)據(jù)通信的示例代碼,Socket可以建立起客戶(hù)端和服務(wù)器之間的連接,實(shí)現(xiàn)數(shù)據(jù)的傳輸和交互,感興趣的可以了解一下
    2023-09-09
  • Java之String.format()方法案例講解

    Java之String.format()方法案例講解

    這篇文章主要介紹了Java之String.format()方法案例講解,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • java?Springboot實(shí)現(xiàn)教務(wù)管理系統(tǒng)

    java?Springboot實(shí)現(xiàn)教務(wù)管理系統(tǒng)

    這篇文章主要介紹了java?Springboot實(shí)現(xiàn)教務(wù)管理系統(tǒng)的過(guò)程,文章圍繞實(shí)現(xiàn)過(guò)程展開(kāi)全文詳細(xì)內(nèi)容,具有一定的參考價(jià)值,需要的朋友可以參考一下,希望對(duì)你有所幫助
    2021-11-11
  • 解決阿里云OSS使用URL無(wú)法訪(fǎng)問(wèn)圖片的兩種方法

    解決阿里云OSS使用URL無(wú)法訪(fǎng)問(wèn)圖片的兩種方法

    這篇文章主要介紹了解決阿里云OSS使用URL無(wú)法訪(fǎng)問(wèn)圖片的兩種方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08

最新評(píng)論

福贡县| 泸州市| 济源市| 双柏县| 衡山县| 喀喇沁旗| 浮山县| 长岛县| 江北区| 龙陵县| 平湖市| 天门市| 湖北省| 崇仁县| 芜湖县| 禹城市| 泗水县| 灌南县| 万安县| 玛多县| 萨迦县| 平塘县| 嘉禾县| 绥棱县| 肃南| 隆化县| 凉山| 萨迦县| 星子县| 侯马市| 札达县| 夏邑县| 河西区| 高州市| 望奎县| 宝鸡市| 婺源县| 沙湾县| 江川县| 松江区| 梁平县|