类的继承以及方法的重载与覆盖

第四次课后预习作业

  1. 什么是类的继承?它有什么作用?

在Java中,类的继承是指在一个现有类的基础上去构建一个新的类,构建出来的新类被称为子类,现有类被称为父类,子类会自动拥有父类所有可继承的属性和方法。在程序中,如果想声明一个类继承另一个类,需要使用extends关键字。

在类的继承中有四点需要注意

  1.  在Java中,类只支持单继承,不允许多重继承,也就是说,一个类只能有一个直接父类。下面为一个错误样例:

        class a{}

class b{}

class c extends a,b{}//c类不可以同时继承a类,b类

  1.  多个类可以继承一个父类。如:

class a{}

class b extends a{}

class c extends a{}//b类,c类都可以继承a类

  1.  类可以进行多重继承。如:

        class a{}

class b extends a{}

class c extends b{}//b类继承a类,c类继承b类

  1.  在Java中,子类和父类是一种相对概念,也就是说一个类是某个类父类的同时,也可以说是另一个类的子类。例如上面的示例,b类既是a类的子类,也是c类的父类。

什么是方法的覆盖和重载?方法的覆盖与方法的重载有什么区别?

方法的重载:简单来说,在同一个类下,两个功能相同的,但方法名不同,参数不同,重载成共同一个方法名相同,但参数列表不同的方法。

class A

{

void f(); //#1

void f(int a); //#2

void f(double a); //#3

}

方法的覆盖:当子类继承父类以后,在子类中能创建一个与父类有不同功能的方法,但是能够具有相同的名称,返回值,参数列表。适用于子类继承父类以后,原先的方法并不适用于子类当前具有的属性的运行需求。

class animal{

public void show(){

System.out.println("动物");

}

}

class dog extends animal{

public void show(){

System.out.println("哈皮狗");

}

}

两者的主要区别:

  1. 重载参数列表,返回值可以不同

覆盖参数列表,返回值必须相同

  1. 重载适用于同一类下的不同方法,是平行关系

覆盖适用于子类和父类,是一种垂直联系

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值