靜態方法中調用非靜態方法


有時候面試的時候,面試官會問靜態方法里能不能調用非靜態方法,這時候呢,你的回答是什么呢?

雖然不能直接調用,但是可以間接的調用,可以通過將一個對象的引用傳入靜態方法中,再去調用該對象的非靜態方法。靜態方法通過用傳進來的對象引用調用非靜態方法,從而達到靜態方法調用非靜態方法。

 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 }

 

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM