比如:final double PI=3.14;
为了访问方便(通过类名.成员直接调用),通常要加static
如下:static final double PI=3.14;
下面例子:
如果在某个类中定义: static final int number;则会报错:
因为number被定义为final,相当于final把number最终化,但是number是没有值的(显示初始化值),只有一个内存中的一个默认初始化值,所以会报错。
因而最终化的,都是针对显示初始化值而言的:比如:static final int number=4;作者: Android666 时间: 2016-1-17 14:13
在Java中声明类、属性和方法时,可使用关键字final来修饰。1、 final标记的类不能被继承。2、 final标记的方法不能被子类复写。3、 final标记的变量(成员变量或局部变量)即为常量,只能赋值一次。范例:TestFinalDemo1.java01 class TestFinalDemo102 {03 public static void main(String[] args)04 {05 final int i = 10 ;06 // 修改用final修饰的变量i07 i++ ;08 }09 }编译结果:TestFinalDemo1.java:6: cannot assign a value to final variable i i++ ; ^1 error范例:TestFinalDemo2.java01 final class Person02 {03 }04 class Student extends Person05 {06 }编译结果:TestFinalDemo2.java:4: cannot inherit from final Personclass Student extends Person ^1 error范例:TestFinalDemo3.java01 class Person02 {03 // 此方法声明为final不能被子类复写04 final public String talk()05 {06 return "Person:talk()" ;07 }08 }0910 class Student extends Person11 {12 public String talk()13 {14 return "Student:talk()" ;15 }16 }编译结果:TestFinalDemo3.java:12: talk() in Student cannot override talk() in Person;overridden method is final public String talk() ^1 error