包
概念:檔案夾,管理類
包的作用:避免類重名,全類名=包名+類名,按照不同的功能管理類
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;//不同包的子類可被通路\\ }
}
}