课程
/后端开发
/Java
/Java入门第二季 升级版
为什么这里的setMen方法不能用this.mem
2019-01-19
源自:Java入门第二季 升级版 7-4
正在回答
"this."是指的是当前实例化后的对象去调用它的成员属性。图中的mem属性是静态成员属性,是属于这个类的。才疏学浅的我是这样认为的,祝学愉快
慕设计6117592 提问者
慕村3187174 回复 慕设计6117592 提问者
这是因为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面向对象编程的奥妙
4 回答静态变量前不需声明public??
2 回答可以通过 类名.静态变量 访问静态变量 也可以通过 对象.静态变量 访问静态变量。也可以直接通过静态变量名访问吗
1 回答在静态方法中能定义静态变量吗
2 回答成员变量&静态变量
5 回答修改静态变量