程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> Java中的小常識點總結

Java中的小常識點總結

編輯:關於JAVA

Java中的小常識點總結。本站提示廣大學習愛好者:(Java中的小常識點總結)文章只能為提供參考,不一定能成為您想要的結果。以下是Java中的小常識點總結正文


1、聲明部分變量是的一些特征和規矩
(1)聲明的部分變量是不會被默許初始化的,成員變量則是會被默許初始化的。例如:

class Demo {  
      public static void main(String[] args) {
           String s;
           System.out.println(s);
     }
}

下面的這段示例代碼中,直接輸入s是毛病的,連編譯都分歧經由過程,由於在main辦法中聲明s,這時候s是部分變量,不會被默許初始化值,是以鄙人面直接輸入是有毛病的。代碼改寫以下便可:

class Demo {  
      String s;
      public static void main(String[] args) {
           System.out.println(s);
     }
}

如許輸入的話就是null了,由於s被聲明為成員變量,是以默許會被初始化值null。
(2)聲明部分變量的後面不克不及有任何權限拜訪潤飾符(public、protected和private),只能是friendly的默許友愛的,然則可使用final來潤飾部分變量。

2、應用final來潤飾根本類型部分變量和援用類型部分變量的差別
(1)final潤飾根本類型部分變量的時刻,不克不及對其根本類型的數據值停止修正。由於final潤飾的變量是終究的,不克不及被轉變。以下代碼:

public class Something {
   public int addOne(final int x) {
       return ++x;
   }
}

這裡addOne辦法中應用final int x作為參數,上面再對其停止自增是毛病的。

(2)final潤飾援用類型的部分變量的時刻,也就是對象。這時候可以修正對象中的屬性信息,然則不克不及修正對象的援用。好比上面的代碼:

public class Something {
   public static void main(String[] args) {
       Other o = new Other();
       new Something().addOne(o);
   }
   public void addOne(final Other o) {
       o.i++;
   }
}
class Other {
   public int i;
}

這裡addOne辦法吸收的參數是一個對象,而在辦法體中自增了對象中的屬性 i 的值,而對象的援用地址沒有被修正,是以不會產生毛病。而假如在辦法體中寫上:o = new Other(); 這時候就會報錯了。

(3)在類中被final潤飾聲明的成員變量不會默許初始化值。是以必需在結構器之前就得給定一個詳細值。例以下面的代碼:

class Something {
    final int i;// 這行就曾經報錯了,編譯不克不及經由過程,沒有初始化值
    public void doSomething() {
        System.out.println("i = " + i);
    }
}

final int i是個final的instant variable (實例變量,或叫成員變量)。final的instant variable沒有default value,必需在constructor (結構器)停止之前被付與一個明白的值。可以修正為"final int i =0;"。

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