为什么不要加this?

来源:7-7 Java 中的静态内部类

初级阶段

2017-12-10 16:51

System.out.println("访问外部类的score"+HelloWorld.score);

写回答 关注

4回答

  • qq_久行_0
    2018-04-03 18:11:14

    静态成员属于整个类,即使没有对象,静态成员还是存在的。其他普通成员,只有创建相应类对象的时候才会分配内存,静态成员在编译时就会分配一个内存,即使没有对象,也可以用类名直接访问。要注意的是,它只会占用一个内存,所有当有不同对象访问静态成员时,静态成员的值都是一样的,并且有一个对象改变了它的值,所有其他对象访问该静态成员时,都会显示改变后的值

  • qq_新一_0
    2017-12-15 11:49:21

    因为内类有权限访问外部类中的所有数据,加this是为了区分,相当于对象名吧。之前加this因为内部类和外部类都有name,因为方法具有就近原则不加this关键字标识的话,系统会直接取内部类中的name。说白了就是为了能让系统区分,HelloWorld.socre的意思是访问HelloWorld类(外部类)中的Score变量,没加this是因为只有一个score不用区分。

  • 慕圣7621448
    2017-12-12 15:47:48

    因为已经规定了外部类静态成员与内部类相同时,调用方法为“类名.静态成员”,

    你要问为什么,其实我也不知道,大概是静态成员比较特殊吧

  • 慕尼黑1392957
    2017-12-10 17:35:06

    this是指当前对象  一般 用于get  set  方法 ,成员变量和在方法中的局部变量命名相同是,需要在方法中使用成员变量需要使用 this。

    这是我对this的理解。希望对你有帮助。

Java入门第二季 升级版

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

531024 学习 · 6164 问题

查看课程

相似问题