一、成员属性
1.被static修饰的成员属性,被称为静态成员属性;
2.成员属性被定义为静态成员属性,即所有对象都共享该成员变量,且只有一份内存地址拷贝;
3.静态成员变量的作用域只在类的内部,但生命周期却贯穿整个应用程序;
4.和程序同生命周期;
5.在没有实例化对象之前,可以通过类名访问静态成员变量;
6.也可以通过对象访问静态成员变量,但访问到的都是同一个变量;
7.静态成员变量最好初始化,如果不初始化,系统默认给0。
二、成员方法
1.被static修饰的成员方法,被称为静态成员方法;
2.静态成员方法不能调用非静态成员方法;
3.静态成员方法没有this引用;
4.在没有创建对象之前可以通过类名访问静态成员方法。
三、静态成员的特点
1.生命周期贯穿整个应用程序(生命周期:即程序的最开始到程序的结尾);
2.对象访问静态成员,但是访问到的都是同一个变量;
3.静态成员最好初始化,如果不初始化,系统默认给0;
4.静态成员方法不能调用非静态成员;
5.静态成员方法没有this引用;
6.静态成员受访问权限约束。
★静态成员属于整个类而不属于某个对象,可以在实例化对象之前通过类名访问(重点)
静态中成员变量的类当被加载到虚拟机的时候,其变量就已经初始化
四、静态初始化顺序
1.先静态属性,静态方法,再静态块,最后非静态
2.最后非静态:属性 -- 方法 -- 构造方法
五、包
1. 包的概念
- 避免类和类名之间的冲突
- 方便管理各个类
- 包的访问权限
- 包将类组合成较小的单位,类似于文件夹
2.包的定义
- package 包名
- 该语句放在源文件的第一句
3.导包
- import .* 导入当前包所有的类
- import 导入具体某个包中的某个类