静态方法中调用非静态方法


有时候面试的时候,面试官会问静态方法里能不能调用非静态方法,这时候呢,你的回答是什么呢?

虽然不能直接调用,但是可以间接的调用,可以通过将一个对象的引用传入静态方法中,再去调用该对象的非静态方法。静态方法通过用传进来的对象引用调用非静态方法,从而达到静态方法调用非静态方法。

 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