老王学java
2016-11-12 16:39
静态变量和成员变量区别好绕啊,前面2课讲的手机定义一个屏幕,内存,cpu之类的就叫成员变量, 而且语法是float xx=x可以是正确语句,而到了这里如果是 float xx=x,不在前面加static就会出错,仔细比较后发现就是因为public static void main(String[] args)这句话,如果没有这句话,定义一个变量怎么都正确,在接下来的语句中随便怎么调用这个变量,但是如果有了这句话后定义一个变量,如果在这话前面就要加static,在后面就不能加static,不然也出错,在这句话后面怎么定义一个变量都也是正确的,看来还是基础概念之类的东西没有搞懂。
你说没有public static void main(String[] args)这句话定义变量就会出错。首先,在2课的时候变量是定义在主函数部分了,public static void main(String[] args)这句话是定义在内函数部分了,是在内函数调用的方法执行了主体中的变量。而这句话是程序运行的起点,不只是变量问题,其他方面也需要有这句话的。
后面你说到静态变量的顺序问题,这个我也不会了
成员变量和静态变量的区别
生命周期的不同
成员变量随着对象的创建而存在,随着对象被收回而释放
静态变量随着类的加载而存在,随着类的消失而消失
调用方式的不同
成员变量只能被对象调用
静态变量可被对象和类名调用
在静态方法里面只能调用静态变量,而public static void main(String[] args)这句话表示main方法是一个静态方法,因此内部只能调用静态变量了,如果是public void main(String[] args)应该就可以调用所有成员变量了
Java入门第二季 升级版
530643 学习 · 6091 问题
相似问题
回答 1
回答 2
回答 5
回答 1
回答 2