温馨提示×

温馨提示×

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

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

怎样理解java抽象类

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

理解 Java 抽象类(Abstract Class),可以从“是什么、为什么用、怎么用、和接口的区别”这几个角度来看。


一、什么是抽象类

抽象类是用 abstract 修饰的类,它:

  • 不能被直接实例化(不能用 new 创建对象)
  • 可以包含:
    • 抽象方法(abstract 方法,没有方法体)
    • 普通方法(有实现)
    • 成员变量
    • 构造方法

示例:

abstract class Animal {
    String name;

    public Animal(String name) {
        this.name = name;
    }

    // 抽象方法
    public abstract void sound();

    // 普通方法
    public void eat() {
        System.out.println(name + "在吃东西");
    }
}

二、为什么要用抽象类

核心目的:代码复用 + 规范子类行为

  1. 抽取共性 多个子类有相同属性和方法,放到抽象类中
  2. 强制子类实现某些方法 子类必须实现抽象方法,否则子类也要是抽象类
  3. 半抽象设计 既定义“必须做什么”,又可以提供“默认怎么做”

三、怎么使用抽象类

1. 子类继承抽象类

class Dog extends Animal {
    public Dog(String name) {
        super(name);
    }

    @Override
    public void sound() {
        System.out.println(name + "汪汪叫");
    }
}

2. 使用方式

Animal a = new Dog("小狗");
a.sound();
a.eat();

通常用 父类(抽象类)引用指向子类对象


四、抽象类 vs 接口(重点)

对比点 抽象类 接口
关键字 abstract class interface
能否实例化 不能 不能
方法 可有抽象/非抽象 默认抽象(Java 8+ 可有 default)
成员变量 普通变量 常量(public static final)
继承关系 单继承 多实现
设计目的 “是不是”(IS-A) “能不能做”(CAN-DO)

五、一句话理解

抽象类是对一类事物的共性抽象,既规定“必须做什么”,又可以提供“怎么做”的基础实现。

如果你愿意,我也可以用 生活例子 / UML图 / 面试题角度 再帮你讲一遍。

向AI问一下细节

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

AI
助
手