分析运行结果,说明原理。(没有分析结果不得分)
class A {
void fun1() {
System.out.println(fun2());
}
int fun2() {
return 123;
}
}
public class B extends A {
int fun2() {
return 456;
}
public static void main(String args[]) {
B b = new B();
b.fun1();
A a = b;
a.fun1();
}
}
请各位大神帮帮忙。
//----------------------------------------------------------------------
以下是我的程序,
package Test;
class A
{
void fun1()
{
System.out.println(fun2());
}
int fun2()
{
return 123;
}
}
public class B extends A
{
public static void main(String [] args)
{
B b = new B();
b.fun1();
A a = b;
a.fun1();
}
int fun2()
{
return 456;
}
}
//-------------------------------------------------------------
//程序结果为
JAVA有关继承的练习题:
答案:2 悬赏:0 手机版
解决时间 2021-02-22 20:01
- 提问者网友:城市野鹿
- 2021-02-21 19:53
最佳答案
- 五星知识达人网友:零点过十分
- 2021-02-21 20:56
A a=new A();
把A实例化以后调用试试?
把A实例化以后调用试试?
全部回答
- 1楼网友:洒脱疯子
- 2021-02-21 21:05
java继承是使用已存在的类的定义作为基础建立新类的技术,新类的定义可以增加新的数据或新的功能,也可以用父类的功能,但不能选择性地继承父类。
java多态存在的三个必要条件:
1.需要有继承关系的存在
2.需要有方法的重写
3.需要有父类的引用指向子类对象
希望对你有帮助。
第一题应该选d,第二题选c,d。
第一题属于多态,methodb()方法属于子类,父类没有重写子类的方法
第二题属于继承,子类可以继承父类的方法
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯