问答详情
源自:7-7 Java 中的静态内部类

上完这节课后,我发现我不会用this 了,说能告诉我

是不是有了 Static   就不可以用this 了?

提问者:慕少1317773 2020-04-16 16:44

个回答

  • 慕莱坞5337061
    2020-10-31 13:42:11

    个人理解:

    成员变量->对象->类    所以通过this访问对象再调用成员变量

    静态变量->类   中间没有对象这一级,所以直接调用,不能有this

  • MichaelJia
    2020-04-17 12:11:51

    static修饰的静态方法中不能使用this, this关键字它的值是当前对象的引用.

    用它来调用属于当前对象的方法

    或者使用this处理方法中版成员变量和局部变量重名的情况.

    而static修饰的静态方法、成员变量是属于一个类的,而不是某一个对象,this找不到具体的对象

    1.成员内部类通过:外部类类名.this.外部类中的成员属性,来访问外部类中与内部类同名的成员变量

    不能直接:外部类类名.外部类中的成员属性,因为非静态属性不能通过类名直接访问

    2.静态内部类通过:外部类类名.外部类中的成员属性,访问外部类中的静态成员属性

    通过:new 外部类名().非静态成员属性,访问外部类中的非静态方法

    本人自己的观点,如果有不足或者错误欢迎大佬批评指正