1. 程式人生 > >static關鍵字、package關鍵字、import關鍵字

static關鍵字、package關鍵字、import關鍵字

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

注:靜態方法和變數都需要另外導包