问答详情
源自:7-4 Java 中的 this 关键字

静态变量需要封装吗?

https://img.mukewang.com/5c42852700016f2306050195.jpg

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

提问者:慕设计6117592 2019-01-19 10:04

个回答

  • 慕村3187174
    2019-01-19 16:14:16
    已采纳

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

  • 180416
    2019-06-18 10:14:52

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

  • Ly要做学霸
    2019-04-20 22:50:37

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


  • 慕标5588573
    2019-02-22 17:23:47

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