为了账号安全,请及时绑定邮箱和手机立即绑定

静态变量需要封装吗?

https://img1.sycdn.imooc.com//5c42852700016f2306050195.jpg

为什么这里的setMen方法不能用this.mem

正在回答

4 回答

"this."是指的是当前实例化后的对象去调用它的成员属性。图中的mem属性是静态成员属性,是属于这个类的。才疏学浅的我是这样认为的,祝学愉快

0 回复 有任何疑惑可以回复我~
#1

慕设计6117592 提问者

。。。加上才学疏浅四字让我不知道该不该相信你说的
2019-01-19 回复 有任何疑惑可以回复我~
#2

慕村3187174 回复 慕设计6117592 提问者

供参考,?
2019-01-19 回复 有任何疑惑可以回复我~

这是因为this指向的是父类和本类的对象,而在类方法中调用的时候,这些指代的对象有可能都还没有创建。

0 回复 有任何疑惑可以回复我~
  1.   this是指实例化后的对象

  2. 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;
    }
}


0 回复 有任何疑惑可以回复我~

静态成员变量只能通过实例对象去调用

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

静态变量需要封装吗?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信