靜態方法和非靜態方法調用詳解


1、靜態方法不能直接調用非靜態

2、非靜態方法可以直接調用靜態方法

原因:

    靜態方法和類一起加載,非靜態方法只有在創建對象時才會加載。所以才有了靜態方法不能直接調用非靜態(因為靜態方法加載時類還沒有初始化也就還沒有非靜態方法),非靜態方法可以直接調用靜態方法(因為非靜態方法加載時靜態方法早就加載了)。


 

public class Demo02 {
public void run(){
System.out.println("Running");
//非靜態方法可以直接調用靜態方法
sleep();
}

public static void sleep(){
System.out.println("sleep");
}

public static void main(String[] args) {
//靜態方法可以直接調用靜態方法,或者通過類名.方法名調用
sleep();
Demo02.sleep();

//run();報錯
}
}


免責聲明!

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



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