"靜態方法裏僅僅能調用靜態變量和靜態方法"具體解釋
阿新 • • 發佈:2019-05-01
release java 調用 fix temp lin 方法 -s ews
靜態方法裏能夠調用靜態方法和靜態變量,同一時候也能調用非靜態方法和非靜態變量。
public class Test { public Test() {}; public Test(int i) {this.n = i;} public static int m = 5; public int n = 10; public void fun1() {System.out.println("非靜態方法fun1");} public static void fun2() {System.out.println("靜態方法fun2");} //測試“靜態方法裏僅僅能調用靜態變量和靜態方法”詳細是什麽意思 public static void main(String[] args) { //調用靜態方法不會報錯 //fun2(); //調用靜態變量不會報錯 System.out.println(m); //無法從靜態上下文中引用非靜態方法fun1() //fun1(); //無法從靜態上下文中引用非靜態變量n //System.out.println(n); //能夠在靜態方法中new對象,調用到了非靜態方法的構造方法。無論是否默認構造方法。下列代碼均能正確運行。故覺得:“編譯階段,編譯器不會檢查靜態方法中牽扯到 詳細對象以及對象的相關操作”。如此,也提供了靜態方法中訪問非靜態方法和非靜態屬性的解決方式。 //Test t = new Test(8); //t.fun2(); //t.fun1(); //System.out.println(t.m); //System.out.println(t.n); } }
"靜態方法裏僅僅能調用靜態變量和靜態方法"具體解釋