java关键字 谈final static区别

来源:互联网 发布:逍遥天地手游进阶数据 编辑:程序博客网 时间:2024/06/16 16:03

static 是在内存中分配一块储存区域,与final并没有直接关系

1 final 用来定义编译时常量,对于基本类型 使数值恒定不变, final int a=1; 加上static 没有多大区别.

但是final 这样来定义时 final int a=rand.nextInt(20) 与 static final a=rand.nextInt(20) 区别在于  数值是否在初始化时(加static 无需初始化值已确定) 就被确定.

final与static更为典型的用法: public static final  int VERSION_VALUE=1

2 final定义对象引用时,将无法改变引用指向的对象(对象本身还是可以被修改)

3 final定义方法时,继承类无法覆盖(类似于private定义方法,子类并不能覆盖超类的方法,但final尝试覆盖就报错,private相当于隐藏)

0 0
原创粉丝点击