包
概念:文件夹,管理类
包的作用:避免类重名,全类名=包名+类名,按照不同的功能管理类
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;//不同包的子类可被访问\\ }
}
}