关于包
包的概念:
它可以当做文件夹来理解 它是管理类的 控制访问权限
引入概念(全类名=包名+类名)
作用:
避免类重名
(import关键字)
package day3;
/*
关键字import 导入外部包的类
*/
// import java.sql.Date; 只能用一次 不能使用import导入
import java.util.Date;
/*
包就是文件夹
作用:管理类
避免类重名 全类名:包名+类名
*/
public class Demo1 {
//默认为import导入的类名
Date date = new Date();
//只能使用全类名导入
java.sql.Date da = new java.sql.Date(10000);
}
按照不同功能管理类
引入概念(全类名=包名+类名)
工具包,访问权限包…
包的命名规则
在包名中,可以使用.号来区分包的级别;
包名全都是小写
第一级 指该项目的类型,如com(商业型), org(公益型) ,gov(政府型)等,
第二级 指项目所开发或者运行的公司名称,如:oracle,sun,huawei等
第三级 指项目的名称,如:bcms,oa,erp,cms等
第四级 指项目模块的名称,如:bean,action,exception等
还可以在下面分级(无要求)
访问权限修饰符
由大到小排列
public 公共的 修饰类,方法,属性 (可以被任意类访问)
protected 受保护权限 修饰方法,属性 (必须是该类中的子类访问)
默认 修饰类,方法,属性 (可以在同包不同类中访问)
private 私有的 修饰方法,属性 (只能在本类中访问)
package day3;
/*
public 公共的 修饰类 属性 方法
protected 受保护权限的 修饰属性 方法
默认的 修饰类 属性 方法
private 私有的 修饰 属性 方法
*/
public class Demo2 {
public int pnum;
protected int pronum;
int num;
private int prvnum;
public void Text(){
//在同一个类中,不管是什么访问符,都可以被访问
System.out.println(pnum);
System.out.println(pnum);
System.out.println(pnum);
System.out.println(pnum);
}
}
package day3;
public class Demo3 {
public static void main(String[] args) {
Demo2 demo2=new Demo2();
demo2.num=010;//在不同类中可以访问默认的 (同包不同类)
demo2.pnum=5;//在不同类中可以访问公共的 (同包不同类)
demo2.pronum=2;//在不同类中可以访问受保护的 (同包不同类)
}
}
package text;
import day3.Demo2;
public class Demo4 extends Demo2 {
public static void main(String[] args) {
Demo2 demo2=new Demo2();
demo2.pnum=56;//在不同包不同类中也可以访问公共属性
Demo4 demo4=new Demo4();
demo4.pronum=64;//在不同包不同类中可以通过继承来访问
}
}