在编程的过程中,我们总是会遇到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.java
package zy.pro.jbd.testbase;
(2)写如下测试代码
public class A {
int t=10;
public A() {
}
public void setT(int t){
this.t=t;
}
public int getT(){
return this.t;
}
}
final A a = new A();
public void testFinalObject() {
a.setT(29);
System.out.println("t: " + a.getT());
}
测试输出的结果是:
t: 29