抽象类的使用

什么是抽象类?

        抽象类是在面向对象编程中使用的一个概念。它是一个不能被实例化的类,只能作为其他类的父类来被继承。抽象类可以包含抽象方法和具体方法。

        抽象方法是没有具体实现的方法,只有方法声明但没有方法体。子类继承抽象类后必须实现(重写)抽象方法才能创建实例对象。抽象方法用关键字 abstract 来修饰。

        具体方法是在抽象类中有具体实现的方法。子类可以直接继承并使用这些具体方法,不需要再次实现。

抽象类和抽象方法的定义

        抽象方法的定义格式:

                public abstract 放回置类型 方法名(参数列表);

        抽象类的定义格式:

                public abstract class 类名{}

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

    public void sleep() {
        System.out.println("Animal is sleeping");  // 具体方法
    }
}

class Dog extends Animal {
    @Override
    public void sound() {
        System.out.println("Dog barks");  // 实现抽象方法
    }
}

public class Main {
    public static void main(String[] args) {
        Animal animal = new Dog();  // 创建子类对象
        animal.sound();  // 调用抽象方法
        animal.sleep();  // 调用具体方法
    }
}

抽象方法

        将共性的行为(方法)抽取到父类之后。由于每一个子类执行的内容是不一样,所有,在父类中不能确定具体的方法体。该方法就可以定义为抽象方法。

抽象类

  • 如果一个类中存在抽象方法,那么该类就必须声明为抽象类
  • 抽象类不能实例化
  • 可以有构造方法
  • 可以有属性

 定义抽象类和抽象方法的定义

  • 抽取共性时,无法确定方法体,就把方法定义为抽象的。
  • 强制让子类按照某种格式重写。
  • 抽象方法所在的类,必须是抽象类。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值