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