天天看點

javaSE08基礎-包-權限修飾符

概念:檔案夾,管理類

包的作用:避免類重名,全類名=包名+類名,按照不同的功能管理類

import

導入外部包,

不能導入兩個類名相同的類

如果要用兩個相同的類名,則用全名

import java.util.Date;

/**
 * import 導入外部包,
 * 不能導入兩個類名相同的類
 * 如果要用兩個相同的類名,則用全名
 */
public class Test {
    public static void main(String[] args) {
        Date b = new Date();
        java.sql.Date c = new java.sql.Date(1000);
    }
}      

包(package)的命名規範:

在包名中,可以使用.号來區級别;小寫

第一級 指該項目的類型,如com,org,gov等,

第二級 指項目所開發或者運作的公司名稱,如:oracle,sun,huawei等

第三級 指項目的名稱,如:bcms,oa,erp,cms等

第四級 指項目子產品的名稱,如:bean,action,exception等

通路權限修飾符

權限從大到小依次為:

1)public :公共權限 可以被任意類通路 修飾類、屬性、方法。

2)protected:受保護的權限 ,如果不是同包類,必須是該類的子類才可以通路。 修飾屬性、方法。可以被同包類通路

3)default:同包權限 。隻能被同包的類通路 修飾類、屬性、方法

4)private:私有權限 隻能在本類中通路 修飾屬性、方法。

public protected default private
同類 可以 可以 可以 可以
同包 可以 可以 可以
不同包子類 可以 可以
不同包的其他類
package com.nie.day3.Demo01.De01;

public class De001 {
    /**
     * public :公共權限  可以被任意類通路    修飾類、屬性、方法。
     * protected:受保護的權限  ,如果不是同包類,必須是該類的子類才可以通路 修飾屬性、方法。可以被同包類通路
     * default:同包權限 。隻能被同包的類通路    修飾類、屬性、方法
     * private:私有權限  隻能在本類中通路 修飾屬性、方法。
     */
    public int puName;
    protected int proName;
    int name;
    private int prName;
    public void test() {
        prName = 100;
        proName = 100;
        puName = 100;
        name = 100;
    }
}      
package com.nie.day3.Demo01.De01;

public class De002 {
    De001 a=new De001();
    public void test(){
        a.name=100;
        a.puName=100;
        a.proName=100;
    }
}      
package com.nie.day3.Demo01.De02;

import com.nie.day3.Demo01.De01.De001;

public class De003 {
    De001 a = new De001();

    public void test() {
        a.puName = 100;
//        a.proName 受保護,不同包的不同類不能通路
    }
}
      
package com.nie.day3.Demo01.De02;

import com.nie.day3.Demo01.De01.De001;

public class De004 extends De001 {
    public void test() {
        De004 a = new De004();
        a.proName = 100;
        a.puName = 100;//不同包的子類可被通路\\    }
    }
}