【Java2实用教程】第5章:子类与继承

本文主要探讨Java中的子类与继承概念,通过阅读程序题分析了方法调用的规则,强调了父类和子类方法重名时的执行逻辑,并指出了静态方法的调用方式。同时提出了编程题,要求实现一个抽象类及其子类,根据UML图重写相关方法,以加深对Java继承的理解。
摘要由CSDN通过智能技术生成

四、阅读程序题

4.1.请说出E类中【代码1】和【代码2】的输出结果

class A{
    double f1(double x,double y){
        return x+y;
    }
}

class B extends A{
    double f2(int x,int y){
        return x*y;
    }
}

public class PrintDouble{
    public static void main (String args[]){
        B b = new B ();
        System.out.println(b.f2(3,5));//代码1
        System.out.println(b.f1(3.0,5.0));//代码2
    }
}

结果:

修改代码使代码更易理解。

代码1是整型,因此执行B中的f2。代码2形参是double型,应要执行f1,由于B为A的子类,继承了父类的方法,因此b.f1是可执行的。

4.2.请说出B类中【代码1】和【代码2】的输出结果。

class A{
    public int getNumber(int a){
        return a+1;
    }
}

class B extends A{
    public int getNumber(int a){
        return a+100;
    }

    public static void main(String args[]){
        A num = new A();
        System.out.println(num.getNumber(10));    //【代码1】
        num = new B();
        System.out.println(num.getNumber(10));    //【代码2】
    }
}

报错:

  • 12
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值