有時候面試的時候,面試官會問靜態方法里能不能調用非靜態方法,這時候呢,你的回答是什麼呢?雖然不能直接調用,但是可以間接的調用,可以通過將一個對象的引用傳入靜態方法中,再去調用該對象的非靜態方法。靜態方法通過用傳進來的對象引用調用非靜態方法,從而達到靜態方法調用非靜態方法。 1 public clas...
有時候面試的時候,面試官會問靜態方法里能不能調用非靜態方法,這時候呢,你的回答是什麼呢?
雖然不能直接調用,但是可以間接的調用,可以通過將一個對象的引用傳入靜態方法中,再去調用該對象的非靜態方法。靜態方法通過用傳進來的對象引用調用非靜態方法,從而達到靜態方法調用非靜態方法。
1 public class StaticMethodClass{ 2 void NonStaticMethod(){ 3 System.out.println("This is a non-sataic method."); 4 } 5 6 static void StaticMethod(StaticMethodClasst s){ 7 System.out.println("This is a static method."); 8 s.NonStaticMethod(); 9 } 10 11 public static void main(String[] args) { 12 StaticMethodClass obj=new StaticMethodClass(); 13 StaticMethod(obj); 14 } 15 }