
为什么这里的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;
}
}静态成员变量只能通过实例对象去调用