抽象类和抽象方法

抽象方法:使用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. 抽象方法必须被子类实现
相关推荐
永远不会的CC1 小时前
浙江华昱欣实习(4月23日~ 4月19日)
后端·学习
直奔標竿2 小时前
Java开发者AI转型第二十五课!Spring AI 个人知识库实战(四)——RAG来源追溯落地,拒绝AI幻觉
java·开发语言·人工智能·spring boot·后端·spring
嘟嘟MD2 小时前
程序员副业 | 2026年4月复盘
后端·创业
时空系2 小时前
认识Rust——我的第一个程序 Rust中文编程
开发语言·后端·rust
DevilSeagull2 小时前
Windows 批处理 (Batch) 编程: 从入门到入土. (一) 基础概念与环境配置
开发语言·windows·后端·batch·语言
CAE虚拟与现实2 小时前
五一假期闲来无事,来个前段、后端的说明吧
前端·后端·vtk·three.js·前后端
0xDevNull2 小时前
Java泛型详解
java·开发语言·后端
yeeanna2 小时前
GO函数的特殊性
开发语言·后端·golang
时空系3 小时前
第6篇:数据容器——管理大量数据 Rust中文编程
开发语言·后端·rust
eLIN TECE3 小时前
Go基础之环境搭建
开发语言·后端·golang