抽象类与抽象方法

本文介绍了Java中的抽象方法和抽象类。抽象方法用abstract修饰,无方法体,要求子类实现。抽象类也用abstract修饰,通过抽象方法定义规范。文中还总结了抽象类与抽象方法的特性,如抽象类不一定有抽象方法,不能实例化等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

抽象方法

使用abstract修饰的方法,没有方法体,只有方法的声明。定义的是一种“规范”。要求子类必须实现父类定义的抽象方法。

抽象类

使用abstract 修饰的类。通过abstract方法定义规范,然后要求子类必须定义具体实现。通过抽象类,我们可以严格限制子类的设计,使得子类之间更加通用。
抽象类与抽象方法代码如下:

public abstract  class Animal {
    //定义speak 这个抽象方法 子类必须实现这个方法
    public abstract void speaking();

    //定义普通方法
    public void happy(){
        System.out.println("i am happy");
    }
}

class  Dog extends Animal{
    //实现Animal定义的抽象方法
    @Override
    public void speaking() {
        System.out.println("汪汪汪...");
    }
}

class  Cat extends Animal{
    //实现Animal定义的抽象方法
    @Override
    public void speaking() {
        System.out.println("喵喵喵...");
    }
}

总结:
1、有抽象方法的类 一定是抽象类 ;抽象类中不一定有抽象方法
2、抽象方法不能被实例化 ,也就是不能 new抽象类
3、抽象类可以有 属性、普通方法、抽象方法、构造方法,但是构造方法不能用来new实例化。
4、抽象类只能用来继承
5、抽象方法一定要被子类实现

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值