慕设计6117592
2019-01-19 10:04
为什么这里的setMen方法不能用this.mem
"this."是指的是当前实例化后的对象去调用它的成员属性。图中的mem属性是静态成员属性,是属于这个类的。才疏学浅的我是这样认为的,祝学愉快
这是因为this指向的是父类和本类的对象,而在类方法中调用的时候,这些指代的对象有可能都还没有创建。
this是指实例化后的对象
static关键字使得setMem成了类方法,而mem同样也是类变量,所以在类方法中只能通过类或者实例来调用
public class Telephone() { static float mem; public static float getMem(){ return mem; } public static void setMem(float mem) { Telephone.mem = mem; //第一种 Telephone phone = new Telephone(); //第二种 phone.mem = mem; } }
静态成员变量只能通过实例对象去调用
Java入门第二季 升级版
530673 学习 · 6091 问题
相似问题