java基礎(chǔ)(包的訪問(wèn)權(quán)限)

1.同包之間類的相互訪問(wèn)

同包之間的類除了私有成員都可以相互訪問(wèn)。
可以不使用完整類名。

2.不同包之間類的相互訪問(wèn)

不同包之間兩個(gè)沒(méi)有關(guān)系的類(沒(méi)有繼承關(guān)系)只能訪問(wèn)另一個(gè)包中公有類的公有成員。
如果沒(méi)有導(dǎo)入該類,則要使用完整類名。
公有類可以在另一個(gè)類中定義該類的對(duì)象,但成員能不能訪問(wèn)還要看成員是否公有。(類的公有的則能定義類對(duì)象,但使用類方法還需看方法是否公有)

//文件名:A.java
package zhangsan;

public class A    //只有public類才能被不同包中的其他類訪問(wèn)
{
    public void show()   //只有public方法才能被不同包中的其他類訪問(wèn)
    {
        System.out.println("嘿嘿");
    }
}
//文件名:Test.java
package lisi;

class Test
{
    public static void main(String[] args)
    {
        zhangsan.A a1 = new zhangsan.A();//未導(dǎo)入該類則需使用完整類名
        a1.show();  //如果show方法不是公有,則這里使用show方法會(huì)報(bào)錯(cuò)
    }
}
輸出結(jié)果:
javac -d. A.java Test.java
java lisi.Test
嘿嘿

3.不同包的訪問(wèn)訪問(wèn)方式(三種方法)

  • 使用完整類名。
//文件名:Test.java
package lisi;

class Test
{
    public static void main(String[] args)
    {
        zhangsan.A a1 = new zhangsan.A();//未導(dǎo)入類A則需使用完整類名
        a1.show();
    }
}
  • 使用import導(dǎo)入一個(gè)包中的所有的類。
//文件名:Test.java
package lisi;
import zhangsan.*; //*號(hào)表示zhangsan這個(gè)包中的所有類

class Test
{
    public static void main(String[] args)
    {
        A a1 = new A();//導(dǎo)入了zhangsan這個(gè)包中的所有類
        a1.show();
    }
}
  • 使用import導(dǎo)入一個(gè)包中特定的類。
//文件名:Test.java
package lisi;
import zhangsan.A;  //導(dǎo)入zhangsan包中的類A

class Test
{
    public static void main(String[] args)
    {
        A a1 = new A();//導(dǎo)入了zhangsan這個(gè)包中的所有類
        a1.show();
    }
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容