static關鍵字、package關鍵字、import關鍵字
阿新 • • 發佈:2018-11-02
static關鍵字、package關鍵字、import關鍵字
static關鍵字
靜態成員變數與成員變數的區別
靜態成員變數 | 成員變數 |
---|---|
所屬不同 | |
靜態屬於類,因此也叫類變數 | 成員變數屬於物件,因此也叫例項變數或物件變數 |
記憶體中的位置不同 | |
儲存於記憶體中方法區的靜態區 | 儲存於堆記憶體中 |
出現在記憶體中的時間不同 | |
隨著類的載入而載入,隨著類的消失而消失 | 隨著物件的建立而建立,隨著物件的消失而消失 |
呼叫不同 | |
可以通過物件名呼叫,也可以通過類名呼叫 | 成員變數只能通過物件名呼叫 |
package關鍵字(打包)
import關鍵字
有時候我們會遇到我需要的兩個java檔案在不同包下,可是並不能直接把這兩個java檔案用在一起,這時候我們就需要import關鍵字進行導包。
格式:import 包名; |
注:這個包名是具體到類名(如:import org.ccc.code.Sum,後面這個Sum就是你需要的類的名字,當然這個Sum的位置你也可以寫 *,這個星號表示匯入包裡的全部檔案,但是不建議這麼用) |
程式碼演示
Sum類package org.ji11.code;//org.ji11.code是多級包名 public class Sum { public int i=10; public static int j=100; public void show(){ System.out.println("我是org.ji11.code包下的Sum類的show方法"); } public static void show1(){ System.out.println("我是org.ji11.code包下的Sum類的靜態show1方法"); } }
Text類
package org.ji12.code;//org.ji12.code是多級包名
import org.ji11.code.Sum;//匯入org.ji11.code包下的Sum類
import static org.ji11.code.Sum.show1;//匯入org.ji11.code包下的Sum類的show1靜態方法
import static org.ji11.code.Sum.j;//匯入org.ji11.code包下的Sum類的j靜態變數
public class Text {
public static void main(String[] args) {
Sum s = new Sum();
s.show();
Sum.show1();//通過類名呼叫靜態方法
s.show1();//通過物件呼叫靜態方法
show1();//靜態方法可以直接呼叫
System.out.println(s.i);//Sum.i這句話會出錯,成員變數只能用物件名呼叫,不能用類名呼叫
System.out.println(Sum.j);//通過類名呼叫靜態變數
System.out.println(s.j);//通過物件名呼叫靜態變數
System.out.println(j);
}
}
結果
我是org.ji11.code包下的Sum類的show方法
我是org.ji11.code包下的Sum類的靜態show1方法
我是org.ji11.code包下的Sum類的靜態show1方法
我是org.ji11.code包下的Sum類的靜態show1方法
10
100
100
100
注:靜態方法和變數都需要另外導包