总结java中static、final、transient关键字的作用

1. transient使用

1)被transient关键字修饰的变量不再能被序列化,一个静态变量不管是否被transient修饰,均不能被序列化。

2)一旦变量被transient修饰,变量将不再是对象持久化的一部分,该变量内容在序列化后无法获得访问。

3)transient关键字只能修饰变量,而不能修饰方法和类。注意,本地变量是不能被transient关键字修饰的。变量如果是用户自定义类变量,则该类需要实现Serializable接口。

注意:如果类实现Externalizable接口,则被transient修饰,也可以序列化,只有实现了Serializable接口上述才成立

2. final使用

1)final 可修饰类,方法,变量。修饰类时,类不能被继承,且类里的方法默认为final,修饰方法时,方法不能被继承者调用。修饰变量时,变量不能被再次赋值,是不可改变的。

2. static使用

1 ) 用来修饰成员变量,将其变为类的成员,从而实现所有对象对于该成员的共享;

2 ) 用来修饰成员方法,将其变为类方法,可以直接使用“类名.方法名”的方式调用,常用于工具类

3 ) 静态块用法,将多个类成员放在一起初始化,使得程序更加规整,其中理解对象的初始化过程非常关键

4 ) 静态导包用法,将类的方法直接导入到当前类中,从而直接使用“方法名”即可调用类方法,更加方便

猜你喜欢

转载自blog.csdn.net/deng11408205/article/details/79612637