包、访问权限修饰符与代码块
1、概念
包用于管理类文件,相当于计算机系统中的文件夹。
在项目开发中,一般都将功能相同的类放在同一个包中,这种方式称为分包管理。
2、包的声明格式
包名通常是公司网址的反写,可以有多层包,包名采用小写字母表示,多层包之间用“.”连接。
类中包的声明格式:package 包名.包名.包名;
3、包的访问
在访问类时,为了找到该类,必须使用含有包名的类全名。(包名.类全名)
当两个类在同一包下时,访问类可以省略包名不写。当要使用的类与当前程序不在同一包下时,被访问的类必须是public修饰的类才能够被访问。
4、import导包
使用不在同一包下的public类时,需要也很长的包名,采用import导包后,可以省略包名不写。
5、访问修饰符
Java中提供了四种类型的访问权限修饰符,使用不同的权限修饰符,被修饰的内容访问权限不同。
public | protected | default | private | |
同一个类中 | Y | Y | Y | Y |
同一个包中(子类和无关类) | Y | Y | Y | |
不同包中的子类 | Y | Y | ||
不同包中的无关类 | Y |
日常开发中,类、成员变量、成员方法的访问权限修饰符的访问总结:
- 要想仅能在本类中访问,使用private修饰
- 要想本包中的类都可以访问,使用默认修饰符即可
- 要想在本包中和其他包中的子类都可以访问,使用protected修饰
- 要想在所有包中都能访问,使用public修饰符
6、代码块
- 局部代码块:定义在方法中,用来限制变量的作用范围
- 成员代码块:定义在类中方法外,用来给对象中的成员初始化赋值(优先于构造方法执行,每创建一个对象执行一次)
- 静态代码块:定义在类中方法外,用来给静态成员初始化赋值(优先于主方法和构造方法执行,只执行一次)