不可以。 因為非static方法是要與對象關聯在一起的,必須在創建出一個對象后,才可以通過這個對象調用非static方法;而static方法可以直接通過類名來調用,不需要創建對象。 也就是說,在一個static方法被調用時,還可能沒有創建任何實例對象,此時如果從static內部發出對非 ...
.static類成員 C primer里面說過,static類成員不像普通的類數據成員,static類數據成員獨立於一切類對象處在。static類數據成員是與類關聯的, 但不與該類定義的對象有任何關系。即static不會像普通類數據成員一樣每一個類對象都有一份,全部類對象是共享一個static類成員的。 例如A類對象修改了static成員為 ,那么B對象對應的static類對象成員的值也會是 。 ...
2020-03-10 08:13 0 2583 推薦指數:
不可以。 因為非static方法是要與對象關聯在一起的,必須在創建出一個對象后,才可以通過這個對象調用非static方法;而static方法可以直接通過類名來調用,不需要創建對象。 也就是說,在一個static方法被調用時,還可能沒有創建任何實例對象,此時如果從static內部發出對非 ...
1、由JVM的執行機制決定了在static方法中是不能直接調用改類的其它非static方法的。 因為類方法(static方法)執行的時候,其所在的堆棧中是沒有指向對象的引用的任何信息的,而非static方法在調用的時候又必須要知道調用該方法的對象的引用。所以從這里可以看出 ...
靜態的屬性和方法在內存中的存放地址與非靜態的是不同的,靜態的是存放在static區,它意味着靜態方法是沒有this的,所以我們不可以從一個static方法內部發出對非static方法的調用。但是反之是可以的。 靜態屬性被外部公用,修改之后會被保存。 1、static方法 ...
今天敲代碼的時候發現,出現了這樣一個情況: 我在我在main方法中調用了一個函數,並且這個函數沒有用static修飾,就像這樣: 這樣報錯了!!! 我雖然學Java 的時間也不多,但這個問題也幫助我更深刻的理解了一些東西。 我的方法體中間沒有加上static,加上static之后就不 ...
java的calss中,在public static void main(String[] args) { }方法中調用非static的方法:在main方法中創建該calss的對象,用對象調用非static方法 ...
不可以。因為非static方法是要與對象關聯在一起的,必須創建一個對象后,才可以在該對象上進行方 法調用,而static方法調用時不需要創建對象,可以直接調用。也就是說,當一個static方法被調用時,可能還沒有創建任何實例對象,如果從一個static方法中發出對非static方法的調用,那個非 ...
不可以。static方法調用時不需要創建對象(可直接調用),當一個static方法被調用時,可能還沒有創建任何實例對象,也就不可能調用非靜態方法。 ...
如果在該靜態方法內創建一個 該非靜態方法所在的類的實例,就可以使用此實例來引用,否則如果直接調用是不允許的。 靜態方法可以不用創建類的實例而直接調用(本類中直接調用,其他類中如果允許訪問則可以直接用類名點 調用),而非靜態方法不行。 ...