程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> javase-JAVA中final關鍵字在不同位置的區別

javase-JAVA中final關鍵字在不同位置的區別

編輯:編程綜合問答
JAVA中final關鍵字在不同位置的區別
public void method1(final Object obj) {
    new AnonymousClass() {
        obj.invoke();
    }
}
與
public void method1(Object obj) {
    final Object tmpObj = obj;
    new AnonymousClass() {
        tmpObj .invoke();
    }
}
之間有區別嗎?主要的區別是什麼?

最佳回答:


final修飾變量意思這個值定了,再改就報錯
以上的兩個final修飾的變量就不一樣是有區別的
前者修改傳過來的參數obj就報錯,後者修改不報錯
因為只把重新定義的tmpObj定為了常量
從當前執行效果來看無區別

關健字final還可用於修飾類\方法,意思就是不能繼承和重寫

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved