为什么静态方法无法直接调用非静态成员变量和方法
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                为什么静态方法无法直接调用非静态成员变量和方法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
                                靜態方法無法直接調用非靜態成員變量和方法 看到這句話,要想到形容的是這樣的如下
靜態方法里面無法調用非靜態變量
下面在寫一個對比非靜態的方法和靜態方法調用變量對比
問題原因
靜態變量和靜態的方法是屬于類,不屬于對象,調用的時候不需要實例化(當然如果你非要實例化之后在調用也是可以的),
非靜態的變量和方法是屬于對象的,調用的需要先實例化,這也就是上面圖片中的name報錯的原因,
大家需要注意,無法直接調用,并不是無法使用,我們實例化對象之后就可以調用的.
為了更好的理解,我寫了一個demo
public class Student {private String name = "張三";private static String sex = "男";public void Name() {System.out.println(name);System.out.println("非靜態方法Name");}public static void Sex() {System.out.println("靜態方法sex");}public static void main(String[] args) {//非靜態變量name調用Student student = new Student();System.out.println(student.name);// 靜態變量SexSystem.out.println(sex);// 非靜態方法調用student.Name();//靜態方法調用Student.Sex();}}可以看到,靜態變量可以直接調用,靜態方法輸入類的,可以直接通過類.方法 的方法直接使用
非靜態的變量在靜態的方法中需要實例化對象,即是Student student = new Student(); 實例化對象student 然后通過對象調用方法和變量
?
?
?
總結
以上是生活随笔為你收集整理的为什么静态方法无法直接调用非静态成员变量和方法的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 纳豆机多少钱一台
- 下一篇: 求一个好听的女生团队名字!
