static

50 阅读1分钟

主要用来修饰类的内部结构,如:属性、方法、代码块、内部类

static修饰属性

static修饰属性,相对于共线变量,在内存中只存一份,存储在方法区的静态域中,即使是多个对象调用的该属性在内存中指向同一个地址

1.png

1、.png

1.png

1.什么时候变量声明为实例的,什么时候声明为静态的?

如果这个类中的所有对象的某个属性值都是一样的,不建议定义为实例变量,浪费内存空间,建议定义为类级别特征,定义为静态变量,在方法区中值保留一份,节省内存开销

static修饰内部类

静态内部类可以直接new()出来,非静态内部类需要创建外部类的实例才能new()出来

1.png