一、 关键字:static
当我们编写一个类时,其实就是在描述其对象的属性和行为,而并没有产生实质上的对象,只有通过new关键字才会产生出对象,这时系统才会分配内存空间给对象, 其方法才可以供外部调用。我们有时候希望无论是否产生了对象或无论产生了多少对象的情况下,某些特定的数据在内存空间里只有一份。
1.static:静态的
2.static可以用来修饰:属性、方法、代码块、内部类
3.使用static修饰属性:静态变量
按是否使用static修饰,又分为:静态属性vS 非静态属性(实例变量)
实例变量;
我们创建了类的多个对象,每个对象都独立的拥有一套类中的非静态属性。当修改其中一个对象中的
非静态属性时,不会导致其他对象中同样的属性值的修改。
静态变量:;
我们创建了类的多个对象,多个对象共享同一个静态变量。当通过某一个对象修改静态变量时,会导致
其他对象调用此静态变量时,是修改过了的。
(因为静态的属性和方法是和类一起生成的所以类可以调用静态属性,而非静态属性要对象创建了之后才生成,所以不能用类去调用非静态的属性或者方法)
注; 静态属性 非静态属性
类 可以调用 不可以调用
对象 可以调用 可以调用
4.使用static修饰方法:
静态方法随着类的加载而加载,可以通过“类.静态方法”的方式进行调用类
对象静态方法中,只能调用静态的方法或属性
非静态方法中,既可以调用非静态的方法或属性,也可以调用静态的方法或属性
- static注意点:
在静态的方法内,不能使用this关键字、super关键字
关于静态属性和静态方法的使用,大家都从生命周期的角度去理解。



