J2SE综合:对Final的一点认识2011-07-20在编程的过程中,我们总是会遇到final关键字,那么我们对final怎么理解呢,下面是我的一点粗浅认识,和大家共享。package zy.pro.jbd.demo; public class FinalDemo { final int numInt1=16; final String str="zy"; final String str1;注意:str1在此没有初始化,那么必须要在构造函数中初始化,否则要报错。也就是说,final变量必须要进行初始化。public FinalDemo() { str1="zy"; } public static void main(String[] args){ System.out.println("-------------------------------------------------"); } public void executeFinalTest(){ } private void testFinalInt(){ numInt1+=1;上面,我们定义了numInt1为final变量,在次将会出现一个错误:cannot assign a final value to final variable numInt1 at line 24由此可见,如果一个基本型别的变量被定义成了final,那么此变量将不能再被改变。System.out.println(numInt1); } private void testFinalString(){ str=str+"aaaaa";此处同样也会报错。System.out.println(str); } }我们再作一个测试:(1)先创建一个类:A.javapackage zy.pro.jbd.testbase; public class A { int t=10; public A() { } public void setT(int t){ this.t=t; } public int getT(){ return this.t; } } (2)写如下测试代码final A a = new A(); public void testFinalObject() { a.setT(29); System.out.println("t: " + a.getT()); }测试输出的结果是:t: 29