抽象类和抽象方法

抽象方法:使用abstract修饰的方法,没有方法体,没有声明,定义的是一种规范,就是告诉子类必须要给抽象方法提供具体的实现

抽象类:包含抽象方法的类就是抽象类,通过抽象类,我们就可以做到严格限制子类的设计,使子类之间更加通用。

csharp 复制代码
package testduotai;

public abstract class Animal {
    public abstract void shout(); // 抽象方法
    public abstract void run(); // 抽象方法
}

class Dog extends Animal {
    // 子类必须实现父类的抽象方法,否则编译报错
    @Override
    public void shout() {
        System.out.println("汪汪汪");
    }

    @Override
    public void run() {
        System.out.println("跑起来");
    }
}

抽象类的使用要点

  1. 有抽象方法的类整你定义为抽象类
  2. 抽象类不可以实例化,即不可以用new方法来实例化抽象类;
ini 复制代码
Animal a = new Animal(); // 如果Animal是抽象类,则这样写会编译报错
  1. 抽象类可以包含属性、方法、构造方法。但是构造方法不能用来new实例,只能用来被子类调用。
  2. 抽象类只能用来被继承,不可以用来new
  3. 抽象方法必须被子类实现
相关推荐
健康平安的活着16 小时前
springboot+sse的实现案例
java·spring boot·后端
程序员鱼皮17 小时前
从夯到拉,锐评 28 个后端技术!
后端·计算机·程序员·开发·编程经验
开心猴爷17 小时前
混合开发的 App 怎么测试?
后端
俞凡17 小时前
eBPF + OpenTelemetry:适用于任何应用的零代码自动化测量
后端
Cache技术分享17 小时前
275. Java Stream API - flatMap 操作:展开一对多的关系,拉平你的流!
前端·后端
sino爱学习17 小时前
别再踩 Stream 的坑了!Java 函数式编程安全指南
java·后端
学习CS的小白18 小时前
跨域问题详解
vue.js·后端
小菜鸡ps18 小时前
纯个人大白话--flowable多实例加签与减签
后端·工作流引擎
+VX:Fegn089518 小时前
计算机毕业设计|基于springboot + vue作业管理系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计