1,静态的特点:(1)随着类的加载而加载(2)被对象所共享(3)优先于对象存在(4)可以直接被类名所调用,类名.静态成员。
2,静态使用注意事项:(1)静态方法只能访问静态成员,非静态方法既可以访问非静态成员,也可以调用静态方法;(2)不可以定义this,super关键字;(3)主函数是静态。
3,静态的的利处:对对象的共享数据进行单独空间的存储,比较节省空间,并且可以被类名调用;
弊端:生命周期过长,访问出现局限性(只能访问静态成员)。
4,主函数代表含义
public:代表访问权限是最大的;
static:代表主函数随着类的加载就已经存在;
void:对主函数没有具体的返回值类型;
main:可以被 JVM(虚拟机)识别;
String[] args:是一个元素为字符串类型的数组;
5,当功能内部没有访问到非静态数据,那么该功能可以定义成静态的;
6,Person p =new Person()
(1),因为new用到了Person.class,所以会先找到Person。class文件并加载到内存中
(2),执行该类中的static代码块,如果有,就给Person。class类执行初始化
(3),在堆内存中开辟空间,分配内存地址
(4),在内存中建立对象的特有属性,并进行默认初始化
(5),对属性进行显示初始化
(6),对对象进行构造代码块初始化
(7),对对象进行构造函数初始化
(8),将内存地址付给栈内存的p变量
7,静态代码块的特点:随着类的加载而执行,并且只执行一次,优先于主函数