抽象类abstract

抽象类

定义

在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。简单来说,使用关键字abstract 修饰的类就叫做抽象类。

抽象类使用

示例代码,如下:

    abstract class AbstractAnimal {public AbstractAnimal() {
​            System.out.println("Init AbstractAnimal.");}static String name = "AbstractAnimal";public abstract void eat();public void run() {
​            System.out.println("AbstractAnimal Run.");}}class Animal extends AbstractAnimal {public static void main(String[] args) {
​            AbstractAnimal animal = new Animal();
​            animal.run();
​            System.out.println(animal.name);
​            animal.eat();}// 必须重写抽象父类方法@Overridepublic void eat() {
​            System.out.println("Animal Eat.");}}


以上代码执行的结果:

​    Init AbstractAnimal.
​    AbstractAnimal Run.
​    AbstractAnimal
​    Animal Eat.
抽象方法

使用 abstract 关键字修饰的方法叫做抽象方法,抽象方法仅有声明没有方法体。如下代码:


public abstract void m();

抽象类的特性
  1. 抽象类不能被初始化
  2. 抽象类可以有构造方法
  3. 抽象类的子类如果为普通类,则必须重写抽象类中的所有抽象方法
  4. 抽象类中的方法可以是抽象方法或普通方法
  5. 一个类中如果包含了一个抽象方法,这个类必须是抽象类
  6. 子类中的抽象方法不能与父类中的抽象方法同名
  7. 抽象方法不能为 private、static、final 等关键字修饰
  8. 抽象类中可以包含普通成员变量,访问类型可以任意指定,也可以使用静态变量(static)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值