关键字static



1、static是静态的,可以用来修饰属性,方法,代码块(或初始化块)、*内部类。

static修饰属性。

1)、static修饰属性(也称为类变量):由类创建的所有对象都共用这个属性,当其中一个对象对此属性进行修改,会导致其它对象的调用有变化。

2)、类变量随着类的加载而加载,不依赖于对象,并且是独一份。类变量的加载时早于对象。

3)、可以通过类来调用静态变量,也可以通过对象来调用静态变量。

内存中的形式:


2、static修饰方法

1)随着类的加载而加载,在内存中是独一份

2)可以通过“类.类方法”的方式调用,也可以用对象调用。

3)内部可以调用静态的属性或者静态的方法,但是不能调用非静态的属性和方法。反之,非静态的方法可以调用静态的属性和方法。


注意:静态的结构(static的属性、方法、代码块、内部类)的生命周期要早于非静态的结构,同时被回收也要晚于非静态结构。





本文转载:CSDN博客