包的建立 (package) 例如 import java.util.Arrays;
定义一个包
组织代码 和目标一致
定义包 1.新建目录,目录名称就是包名称 (全小写,单词之间用下划线隔开)
访问限定符
1.限定符 2.影响的是访问权限
两种情况
1.修饰顶级 (TOP-Level)
2.修饰成员级(Member-level)
四种 访问限定符
说法 定义语法 说明
public public 所有的类都有访问权限
package-private 空白 只有一个包的类有访问权限
protected protected
private private 只有本类由访问权限
静态方法|静态属性
1.方法
普通方法(静方法)|静态方法(类方法)
2.属性
普通属性(属性)|静态属性(类属性)
语法
1.限定符 static
被 static 修饰的属性就是静态属性。
被 static 修饰的方法就是静态方法。
理解
普通属性/普通方法
static 的含义就是和对象解绑’
静态属性不再保存在对象中,而是保存在类中
静态方法调用时,没有隐含着的对象,所以也就无法使用this关键字
访问静态属性/调用静态方法语法
内部
属性名称;
类名称+属性名称;
this+属性名称;//保证当前方法不是静态方法
方法名称(实参列表);
类名称.方法名称(实参列表)
this.方法名称(实参列表)保证当前方法不是静态方法。
外部
类名称.属性名称
对象的引用.属性名称
类名称.方法名称(实参列表)
对象的引用.方法名称(实参列表)
强调
在静态方法中,无法使用this关键字。因为没有一个隐式的对象和其绑定。
不能访问普通属性
不能调用普通方法
表现出来的特性
一个类的所有对象,是可以共享静态属性的。
发生在对象的实例化时候
属性的初始化 1)和2)优先执行,按照定义顺序;3)最后执行
发生被类加载的时候
静态属性的初始化
类的信息一开始是以字节码(bytecode)*.class的形式保存在磁盘上的。
类的加载过程就是 类加载器(ClassLoader)在对象的目录上找到制定类的
字节码文件,并且进行解析,然后放到内存的方法区的过程
类只有在被使用到的时候才会进行加载(一般不会卸载)
1)用类来实例化对象
2)调用静态方法。
3)访问静态属性
类的加载一点发生在实例化之前