java - 从子类对象调用非覆盖方法
问题描述
我没有得到的是钱是从父类中挑选出来的,但是这个指针引用属于子对象?这两件事都应该属于一个范围?
class Parent
{
int money=10;
Parent parentMethod(){
System.out.println(money);
return this;
}
}
class Child extends Parent{
int money=11;
}
public class Demo1 {
public static void main(String[] args) {
Child ch=new Child();
System.out.println(ch.parentMethod());
System.out.println(ch.parentMethod() instanceof Child);
}
}
输出:
10
demos.Child@1540e19d
10
true
解决方案
实例变量不能被覆盖。parentMethod()
在类中定义Parent
,所以它只看到类的money
实例变量Parent
。
如果您parentMethod()
在Child
类中重写并访问了类方法money
主体中的变量Child
,您将看到Child
类money
实例变量的值。
推荐阅读
- reactjs - react -npm run build 生成一个空页面
- python - 如何在python列中使用多索引访问数据
- excel - 如何从一个excel表中获取数据并将其添加到不同表中的匹配行?
- c# - 假脱机由 Observable.FromEvent 生成的正在进行的项目
- r - 用R计算多个多边形之间的最小距离
- javascript - Internet Explorer 中的 Angular 无效日期错误
- python - 如何在 Python 中以异步方法上传到 Google Drive
- javascript - 如何创建一个带有反应的小部件以集成到其他反应应用程序中?
- java - 用作常量的 Java final 类在编译后保留
- batch-file - CMD 随时按键触发X