1.被final关键字修饰的变量不能改变(是变量的引用不能改变,变量的内容是可以改变的)
2.被final关键字修饰的方法不能被重写
3.被final关键字修饰的类不能被继承
详细说说final修饰变量:
1.当final修饰基本数据类型变量,变量值不可改变
2.当修饰引用数据类型变量,变量的引用不可以被改变,但是变量本身指向的对象或者数组的值可以改变
package org.yunqing.myDemo;
public class FinalTest {
public static void main(String[] args) {
//基本数据类型
final int i = 1;
i = 2;//直接报错The final local variable i cannot be assigned.
//It must be blank and not using a compound assignment
//引用类型,引用test类
final Test t = new Test("66");
System.out.println(t.getStr());
t.setStr("77");//重新setStr的值,没问题,说明变量本身指向的对象的值可以改变
System.out.println(t.getStr());
t = new Test("99");//试着重新new一个test给t对象,
//报错The final local variable i cannot be assigned.
//说明变量的引用不可以改变
}
}
class Test{
private String str;
public test(String str) {
this.str = str;
}
public String getStr() {
return str;
}
public void setStr(String a) {
this.str = a;
}
}
借鉴于https://www.cnblogs.com/xrq730/p/4820296.html
https://www.cnblogs.com/chanchan/p/7936388.html
网友评论