java - 抽象父类调用派生类方法
问题描述
所以我想知道类实例是如何构建的。
public abstract class test {
int count;
public test(){
count();
count();
System.out.println("test" + this.count);
}
abstract void count();
}
public class derive extends test{
int count;
public derive(){
System.out.println("derive");
}
@Override
public void count(){
count++;
}
}
public static void main(String[] args) {
derived o = new derived();
}
输出是:
测试0
派生
为什么计数 = 0?而不是2?
解决方案
因为您有两个名为count
. 一个在 中可见test
(但被 中的那个遮蔽)derive
。int count
从中删除并在 中derive
标记。protected
test
推荐阅读
- regex - 金额后的金额正则表达式货币名称
- hyperledger-fabric - composer network start 什么都不返回
- python - Keras ModelCheckpoint vall_loss 减少但表示没有
- c++ - 将对象指针数组初始化为 NULL
- javascript - 如何从图中获取带有 ID 的 SVG?
- php - “试图获得非对象的属性”
- neo4j - Neo4j 浏览器无法完全连接到嵌入式实例
- python - https 获取请求 python (HTTPS / SSL)
- html - 如何停止在实时站点上使用缓存清单
- regex - 从 bash 中的 pom.xml 中解析版本