1、已知**如下:
public class test請問哪個語句是正確的( )。}
a.輸出為null
b.輸出為0
c.編譯時出錯
d.執行時出錯
答:c
因為a的修飾符不是static,所以在main( )方法執行system.out.print(a[6])時,陣列a還沒有被初始化,也就導致了編譯出錯。
把a的修飾符改為靜態,列印的結果就是0,也可以把 long a=newlong[10] 寫在main方法裡就不需要靜態修飾符。
public class person
}正確的是?
a 編譯時將產生錯誤;
b 編譯時正確,執行時將產生錯誤;
c 輸出零;
d 輸出空。
答:c
靜態方法呼叫非靜態方法
靜態方法不能 直接 呼叫非靜態變數,非靜態方法可以引用靜態變數。靜態方法不屬於物件,是屬於類的,不需要例項化 而非靜態變數是屬於物件的,需要先例項化。在乙個類的靜態成員中去訪問其非靜態成員,因為類的靜態成員先於類的非靜態成員存在,訪問乙個記憶體中不存在的東西會出錯。相反,非靜態方法可以引用靜態變數。...
java靜態方法不能呼叫非靜態方法的原因
靜態方法是屬於類的,即靜態方法是隨著類的載入而載入的,在載入類時,程式就會為靜態方法分配記憶體,而非靜態方法是屬於物件的,物件是在類載入之後建立的,也就是說靜態方法先於物件存在,當你建立乙個物件時,程式為其在堆中分配記憶體,一般是通過this指標來指向該物件。靜態方法不依賴於物件的呼叫,它是通過 類...
關於靜態方法和非靜態方法之間的呼叫
1 如果在非靜態方法裡呼叫非靜態方法,則可以用this呼叫。如 this.hao string args 也可以省略this,直接呼叫hao string args 2 如果在靜態方法裡呼叫靜態方法,則可以直接使用 類名.方法名 呼叫。如 若被呼叫的靜態方法m1在類hao1裡,則呼叫方法是 1 靜態...