问答详情
源自:8-7 Java 中的 static 使用之静态变量

静态成员变量与成员变量的区别?

静态成员变量在main方法中直接用累名变量名调用,或者直接创建类名对象,然后再对象名变量名调用(两者区别就是一个能附值给变量,一个不能?),而非静态成员变量在其他(除了main)方法中直接可以变量名调用,但是想要在main方法中用,就需要先通过其他方法,然后再调用其他方法的方式来使用非静态成员变量?

提问者:三水朝山 2016-05-03 19:32

个回答

  • Island_0001
    2016-05-03 20:00:21

    静态成员变量就是可以直接通过类名(不是实例化后的对象名)点出来,比如 类名.静态成员变量名;

    非静态成员变量除非在同一个类中,否则必须要实例化后通过对象名点出来,比如 对象名.非静态成员变量名;

    大概就是这个区别吧,我也是小菜鸟,有什么说的不对的,或者要补充的,希望大家指出,相互学习~

  • 左手的忧愁
    2016-05-03 19:55:54

    个人看法

    首先从定义上看,字段、函数成员的声明中含static修饰符时是静态成员,否则是非静态成员(实例成员)

    其次,静态成员属于类,而非静态成员属于对象

    最后,静态成员在编译时会率先在内存中被分配一个存储单元