java关键字总结?

  3. transient使用细节——被transient关键字修饰的变量真的不能被序列化吗?

  我们知道在Java中,对象的序列化可以通过实现两种接口来实现,若实现的是Serializable接口,则所有的序列化将会自动进行,若实现的是Externalizable接口,则没有任何东西可以自动序列化,需要在writeExternal方法中进行手工指定所要序列化的变量,这与是否被transient修饰无关。因此第二个例子输出的是变量content初始化的内容,而不是null。

最近准备面试,将之前学习的知识进行整理,记录一下学习日志。 

想想之前学的知识都忘了好多就有点悲伤(⊙︿⊙) 

 常见关键字总结:static,final,this,superfinal 关键字static关键字修饰成员变量和成员方法(常用)静态代码块静态导包补充内容静态方法与非静态方法

final修饰的类不能被继承,final类中的所有成员方法都会被隐式的指定为final方法;final修饰的方法不能被重写;final修饰的变量是常量,如果是基本数据类型的变量,则其数值一旦在初始化之后便不能更改;如果是引用类型的变量,则在对其初始化之后便不能让其指向另一个对象。 

需要将方法锁定,防止任何类继承或者修改其含义;效率问题,在早起的Java版本中,会将关键字final修饰的方法转为内嵌使用,如果方法过于庞大,可能看不懂内嵌带来的效率性能提升(现在的Java版本已经不需要使用final方法进行这些优化了)。 

static关键字主要有以下四种使用场景: 

**修饰成员变量和成员方法:**被static修饰的成员属于类,不属于这个单个类的单个对象,被类中的所有的对象所共享,可以通过类名调用、被static关键字修饰的成员变量属于静态成员变量,静态变量存放于Java内存区域的方法区。调用格式:类名.静态变量名 类名.静态方法名()**静态代码块:**静态代码块定义在类中的方法外,静态代码块在非静态代码块之前执行(静态代码块>非静态代码块>构造方法),该类不管创建多少次对象,静态代码块只执行一次。静态内部类(static修饰类的话只能修饰内部类): 静态内部类与非静态内部类之间存在一个最大的区别:

我要回帖

更多关于 java关键字的用法 的文章

 

随机推荐