java靜態(tài)和非靜態(tài)的調(diào)用 非靜態(tài)方法可以調(diào)用靜態(tài)方法與變量嗎?
非靜態(tài)方法可以調(diào)用靜態(tài)方法與變量嗎?原因很簡單,因為靜態(tài)方法可以直接使用而無需實例化。但非靜態(tài)方法只能在實例的幫助下使用。如果在靜態(tài)方法中使用非靜態(tài)變量,則不能直接使用“無實例化”變量。矛盾。為什么不
非靜態(tài)方法可以調(diào)用靜態(tài)方法與變量嗎?
原因很簡單,因為靜態(tài)方法可以直接使用而無需實例化。但非靜態(tài)方法只能在實例的幫助下使用。如果在靜態(tài)方法中使用非靜態(tài)變量,則不能直接使用“無實例化”變量。矛盾。
為什么不能從靜態(tài)的方法里面調(diào)用非靜態(tài)方法,或變量?
無需初始化即可調(diào)用靜態(tài)方法。例如,學(xué)生班有一個靜態(tài)的方法學(xué)習(xí),可以學(xué)生學(xué)習(xí)而不是實例化一個student對象。然而,非靜態(tài)全局變量只能在對象實例化后綁定到實例化對象時使用,因此存在矛盾。如果靜態(tài)方法調(diào)用非靜態(tài)變量,則該變量可能不會實例化,因此無法調(diào)用。
靜態(tài)方法里面的變量,是靜態(tài)還是非靜態(tài)的?
有兩種:第一,新對象不是在靜態(tài)方法中實例化的。在這種情況下,靜態(tài)方法中要調(diào)用的變量和方法必須是靜態(tài)的。其次,在靜態(tài)方法中實例化一個對象。在這種情況下,實例化對象中的變量和方法不需要是靜態(tài)的。
java非靜態(tài)方法可以調(diào)用靜態(tài)變量嗎?
當(dāng)然。
1. 靜態(tài)成員變量和靜態(tài)成員方法屬于類而不是特定實例。靜態(tài)成員(包括屬性和方法)已在類加載階段初始化,因此當(dāng)實例訪問靜態(tài)成員時,靜態(tài)成員必須已經(jīng)存在,以便可以訪問。
2. 另一方面,如果讓靜態(tài)方法訪問實例成員,它將不起作用,因為實例成員的初始化在靜態(tài)成員之后