子类的方法必须覆盖父类的抽象方法

如果让一个非抽象类继承一个含抽象方法的抽象类,则编译时会发生错误。因为当一个非抽象类继承一个抽象方法的时候,本着只有一个类中有一个抽象方法,那么这个类必须为抽象类的原则。这个类必须为抽象类,这与此类为非抽象冲突,所以报错。
所以子类的方法必须覆盖父类的抽象方法。方法才能够起作用。
只有将理论被熟练运用在实际的程序设计的过程中之后,才能说理论被完全掌握!
为了实现多态,那么父类必须有定义。而父类并不实现,留给子类去实现。此时可将父类定义成abstract类。如果没有定义抽象的父类,那么编译会出现错误。

package TomText;
import java.util.*;
//本例展示了如何使用关系和逻辑运算符。
public class TomText_31 {
        public static void main(String[] args) {
            Random rand = new Random();
            int i = rand.nextInt() % 100;
            int j = rand.nextInt() % 100;
            System.out.println ("i = " + i);
            System.out.println ("j = " + j);
            System.out.println ("i > j is " + (i > j));
            System.out.println ("i < j is " + (i < j));
            System.out.println ("i >= j is " + (i >= j));
            System.out.println ("i <= j is " + (i <= j));
            System.out.println ("i == j is " + (i == j));
            System.out.println ("i != j is " + (i != j));
            System.out.println ("(i < 10) && (j < 10) is " + ((i < 10) && (j < 10)) );
            System.out.println ("(i < 10) || (j < 10) is " + ((i < 10) || (j < 10)) );
              }

}

是的,子类的方法必须覆盖父类的抽象方法,除非子类本身也是抽象类。
在面向对象编程中,抽象类是不能被实例化的类,它用来定义一个抽象接口,子类必须实现(覆盖)这些抽象方法才能被实例化。如果子类没有实现父类的抽象方法,那么子类也必须声明为抽象类。
这种设计允许我们在父类中定义一些基本的操作和行为,然后在子类中实现它们,以满足不同子类的需求。这样可以使代码更加模块化和可复用。
例如,如果我们有一个抽象类Animal,其中有一个抽象方法void eat(),那么任何继承自Animal的子类都必须实现void eat()方法,否则它也将被视为抽象类。当然可以,但我不确定你需要我帮你写什么。你可以提供更具体的信息或要求,以便我更好地帮助你。如果你只是需要一些关于如何实现抽象方法的指导,那么我可以告诉你,实现抽象方法的基本步骤如下:

  1. 创建一个新类,该类继承自父类(在这种情况下,它是Animal类)。
  2. 在新类中定义一个与父类中抽象方法同名的方法。
  3. 在新方法中编写具体的代码,以实现该方法的功能。
  4. 在新方法上加上@Override注解,以确保我们正确地覆盖了父类的抽象方法。
    例如,如果我们有一个Dog类继承自Animal类,那么我们可能会这样实现void eat()方法:
public class Dog extends Animal {
    @Override
    public void eat() {
        System.out.println("Dog is eating.");
    }
}

在这个例子中,Dog类覆盖了Animal类的eat()方法,并打印出一条消息表示狗正在吃东西。
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值