——static的特点?
——static修饰的(变量/方法)可以直接通过类名去访问,不需要创建对象。
1、静态变量:
1.有多种方式调用静态变量。
2.有多种方式修改静态变量的值。
3.每创建一个对象,非静态变量都会分配一次内存,修改非静态变量,不同对象的该变量互不影响。
4.无论创建多少个对象,静态变量只分配一个内存,修改静态变量,会影响该类的其他对象,不推荐通过对象访问静态变量,以免误修改静态变量的值,影响其他对象的使用。
2、静态方法
1.有多种方式调用静态方法。
3、静态方法调用变量
1.静态方法可直接调用静态变量。
2.静态方法不可直接调用非静态变量。(红色字体为报错)
3.若硬要在静态方法在调用非静态变量,需要先创建对象,再通过对象调用非静态方法。
4、静态方法调用非静态方法
1.静态方法不可直接调用非静态方法。(红色波浪线为报错)
2.若硬要在静态方法中调用非静态方法,需要先创建对象,再通过对象调用非静态方法。(和调用非静态变量类似)
5、初始化块
1.创建类的实例时,会依次执行初始化块。
2.静态初始化块只在类加载时执行,且只执行一次。
3.静态初始化块不能给非静态变量初始化。(红色字体为报错)
——————————————————————
氷鸢鸢鸢
2020.2.1