java - 与超类中的“this”不一致
问题描述
我上了两节课。一个超类和一个子类。
public class SuperClass
{
protected int x;
public SuperClass(){
x=9;
}
public int getX(){
return this.x;
}
public Object getObject(){
return this;
}
}
public class SubClass extends SuperClass
{
private int x;
public SubClass(){
x = 1;
}
}
如果我现在创建一个子类
SubClass sub = new SubClass();
并调用这两个方法,“this”在第一个方法中引用超类,第二个是子类本身
sub.getX();
返回
9
这是超类的 x 的值
sub.getObject();
另一方面返回对子类的引用。
“这个”的两个不同引用的原因是什么,或者我错过了什么?
这不应该与 Java 中的覆盖成员变量(变量隐藏)重复,因为我想知道为什么“this”单独引用子类而不是为什么 this.x 给我超类的变量
解决方案
推荐阅读
- android - Android Studio 在 XML 自动完成中创建 HTML 标签
- typescript - 如何在自定义选项卡导航器路由器中设置默认参数
- android - 无法从命令行使用 bundletool 构建 android app bundle
- python - Python Django:每次点击每行从数组中的按钮分配变量
- dart - webview_flutter 和 flutter_webview_plugin 哪个更好
- react-native - 当我 react-native run-ios bundle 不工作时
- python - 如何遍历包含多个列表和元组的列表
- vue.js - 如何使用 vue cli 3 构建电子应用程序?
- amazon-web-services - 如何调试 AWS EC2 实例随机变得无法访问
- javascript - Select2 下拉菜单根本不会关闭