1. 程式人生 > >java 修飾詞 private final 簡單的理解

java 修飾詞 private final 簡單的理解

final  :

                本意是指 無法改變的!    不想被改變無非出於兩種理由。設計和效率!以下針對用到final 的 三種情況  資料,方法 ,類

                1 資料 final 修飾基本的資料型別時 必須初始化 否則編譯報錯。程式碼 如下  包括包裝類。

          final int a=0;
          final Integer ad;//編譯報錯

                

                    當 final 修飾的物件修飾的資料 是獨享的引用的時候 而不是基本的資料型別。那麼該物件的引用(String 除外)是不可以改變的。物件本身是可以改變的。

 void tets(final TestA a){
  a.setRemark("");
  a=new TestA();//編譯 報錯
 }
 void tetst(TestA a){
  a.setRemark("");
  a=new TestA();

 }


        使用 final 修飾方法的原因有兩個。第一個原因把方法鎖定,以防止整合修改他的含義。處於設計考慮 第二個就是效率問題。內嵌的方法有時候效率 偏高。final和private關鍵字

  類中 所有的private 方法都隱士的指定為 final的 由於無法取用private 方法所以也就無法覆蓋它。但是 private 方法新增上隱士的 final字也是可以的 編譯器並不報錯

 private final void testAMethod(){
     System.out.println("menthod");
 }
 private void testAMethod2(){
  System.out.println("menthod 2");
 }


使用 final 修飾類的時候  意味著 該類不能被繼承。 也就是該類的設計用不需要做 任何的變動 或者處於安全考慮的 考慮 你不希望他有子類。參考 String 類

    補充 java中除了 static 和final 外其他方法都是後期繫結的