a63181182 2014-01-06 12:56 采纳率: 100%
浏览 732

抽象类的继承问题,输出结果的变化

public abstract class Test4 {
public String i="4";
public abstract void print();
Test4(){
print();
}
}

public class Test5 extends Test4{
String i="6";
Test5(){
super();
}
@Override
public void print() {
System.out.println(i);

}
public static void main(String[] args) {
    Test5 t = new Test5();
    t.print();
}

}
运行的结果是
null
6

public abstract class Test4 {
public String i="4";
public abstract void print();
Test4(){
print();
}
}

public class Test5 extends Test4{
//String i="6";这个地方的i被屏蔽以后 输出的结果就出现了变化
Test5(){
super();
}
@Override
public void print() {
System.out.println(i);

}
public static void main(String[] args) {
    Test5 t = new Test5();
    t.print();
}

}
运行的结果是
4
4

请问出现这个null结果的问题是虚拟机加载的问题还是继承的问题,求清楚的解答

  • 写回答

0条回答

    报告相同问题?

    悬赏问题

    • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
    • ¥50 成都蓉城足球俱乐部小程序抢票
    • ¥15 yolov7训练自己的数据集
    • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
    • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
    • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)
    • ¥20 matlab yalmip kkt 双层优化问题
    • ¥15 如何在3D高斯飞溅的渲染的场景中获得一个可控的旋转物体
    • ¥88 实在没有想法,需要个思路
    • ¥15 MATLAB报错输入参数太多