抽象类和抽象方法

抽象方法:使用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. 抽象方法必须被子类实现
相关推荐
gAlAxy...11 分钟前
SpringBoot Servlet 容器全解析:嵌入式配置与外置容器部署
spring boot·后端·servlet
BYSJMG1 小时前
计算机毕业设计选题推荐:基于Hadoop的城市交通数据可视化系统
大数据·vue.js·hadoop·分布式·后端·信息可视化·课程设计
BYSJMG1 小时前
Python毕业设计选题推荐:基于大数据的美食数据分析与可视化系统实战
大数据·vue.js·后端·python·数据分析·课程设计·美食
东东5161 小时前
OA自动化居家办公管理系统 ssm+vue
java·前端·vue.js·后端·毕业设计·毕设
程序员鱼皮1 小时前
前特斯拉 AI 总监:AI 编程最大的谎言,是 “提效”
前端·后端·ai·程序员·开发
好好研究2 小时前
SpringBoot使用外置Tomcat
spring boot·后端·tomcat
索荣荣2 小时前
Spring Boot 实现DOCX转PDF(基于docx4j的轻量级开源方案)
spring boot·后端·pdf
mit6.8242 小时前
[todo]10个常见的后端框架
后端
没有bug.的程序员2 小时前
Spring Boot 与 Sleuth:分布式链路追踪的集成、原理与线上故障排查实战
java·spring boot·分布式·后端·分布式链路追踪·sleuth·线上故障排查
爱敲代码的憨仔3 小时前
Spring-AOP
java·后端·spring