【JAVA 基础 第(11)课】abstract 抽象类的使用方法,使用场景和注意事项

abstract 适用于定义一组相关类的通用功能和行为,并为子类提供规范和约束。在使用抽象类时,需要注意子类必须实现所有的抽象方法,并可以选择性地重写非抽象方法和属性。


使用抽象类的两种情形

  • 不想让这个类使用 new 创建对象,可以定义为抽象类
  • 定义一个方法,实现体没有任何意义,定义为抽象方法,相应的这个类就必须是抽象类

abstract class 类名 {}

抽象类中可以有抽象的方法,但不是一定要有,定义抽象方法abstract不能省略

抽象类可以声明一个引用,但不能直接 new 创建对象,一般抽象类是用来派生子类的

class 类名  extends 抽象类类名 {}

抽象类也可以多态使用
类中要为抽象类中所有的抽象方法提供具体实现,否则仍为抽象类

代码示例

定义一个抽象类动物  Animal,定义一个抽象方法

public abstract class Animal {

	//抽象方法——叫
	public abstract void bark();
}

定义一个 Cat类 继承 Animal

public class Cat extends Animal{
    @Override
    public void bark() {
        System.out.println("喵。。。。。。");
    }
}

定义一个 Dog类 继承 Animal

public class Dog extends Animal{
    @Override
    public void bark() {
        System.out.println("汪。。。。。。");
    }
}

运行结果:

public class Test {
    public static void main(String[] args) {
        Animal a1;
        a1 = new Dog();
        a1.bark(); //汪。。。。。。

        Animal a2;
        a2 = new Cat();
        a2.bark(); //喵。。。。。。
    }
}

使用场景:

  1. 定义一组相关类的通用功能和行为:抽象类可以包含一些通用的方法和属性,这些方法和属性可以被其子类共享和重用。子类可以继承抽象类并继承其方法和属性,从而实现代码的复用和扩展。

  2. 定义一组相关类的规范和约束:抽象类可以定义一组必须实现的方法,子类必须实现这些方法才能正常工作。通过定义抽象类,可以确保子类遵循相同的规范和约束,从而提高代码的可靠性和可维护性。

  3. 提供默认实现:抽象类可以为一些方法提供默认实现,子类可以选择性地重写这些方法。这样,子类可以自定义部分行为,同时也可以继承默认实现的部分行为。

注意事项:

  1. 抽象类不能被实例化,需要通过子类继承并实现抽象方法后才能创建对象。

  2. 子类必须实现所有抽象方法

  3. 抽象类可以包含非抽象方法

  4. 抽象类可以包含属性

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黑口罩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值