Java中的final关键字

Java中的final关键字修饰的项不可更改。具体来说就是

  • final class不能被继承
  • final 变量的值不能更改
  • final方法不能被覆写。

final修饰的变量值得多说两句,对于引用类型的变量,final的意思是声明变量时它指向哪个对象,它就要一直指向那个对象,那个对象变化与否都没关系。上代码:

public class FinalDemo {
    
    public static void main(String[] args) {
        StringBuffer sb = new StringBuffer("original string");
        sb = new StringBuffer("another string");
    }
}

这段代码可以编译通过。

public class FinalDemo {
    
    public static void main(String[] args) {
        final StringBuffer sb = new StringBuffer("original string");
        sb = new StringBuffer("another string");
    }
}

这段代码编译时会报错:FinalDemo.java:5: 错误: 无法为最终变量sb分配值
sb = new StringBuffer(“another string”);
^
1 个错误

public class FinalDemo {
    
    public static void main(String[] args) {
        final StringBuffer sb = new StringBuffer("original string");
        sb.append("another string");
    }
}

这段代码可以编译通过。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章