温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

java抽象类能干嘛用

发布时间:2026-10-08 12:21:23 来源:亿速云 阅读:92 作者:小樊 栏目:编程语言

在 Java 里,**抽象类(abstract class)**主要用来“把共性的东西抽出来,让子类去实现差异部分”。说白了,它干这几件事最有用:


1️⃣ 代码复用(抽取公共逻辑)

把多个类相同的代码放到抽象类里,子类只写不同的部分。

abstract class Animal {
    void eat() {
        System.out.println("吃东西");
    }

    abstract void sound(); // 子类必须实现
}

class Dog extends Animal {
    void sound() {
        System.out.println("汪汪");
    }
}

✅ 好处:不用每个类都写 eat()


2️⃣ 定义规范(强制子类实现)

用 abstract 方法逼子类必须做什么。

abstract class Shape {
    abstract double area();
}

任何 Shape 的子类(圆、矩形)都必须算面积。

✅ 好处:防止“忘了实现关键方法”


3️⃣ 作为“模板”(模板方法模式)

抽象类里写好流程,把某一步留给子类。

abstract class Game {
    void play() {
        start();
        doGame();
        end();
    }

    abstract void doGame();
}

子类只关心 doGame(),流程不用管。

✅ 好处:流程统一,逻辑清晰


4️⃣ 多态(用父类类型调用子类)

Animal a = new Dog();
a.eat();
a.sound();

✅ 好处:写框架、接口、工具类非常爽


5️⃣ 不能实例化,但能当“中间层”

Animal a = new Animal(); // ❌ 报错

抽象类本身不能 new,只能被继承。


抽象类 vs 接口(简单记)

场景 用啥
有共同代码 抽象类
只定规范 接口
需要构造方法 抽象类
多继承 接口

一句话总结

Java 抽象类用来“抽共性 + 定规范 + 控流程”,是写可维护代码的利器。

如果你愿意,我也可以用真实项目例子(比如支付、登录、订单)给你讲。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI
助
手