JAVA抽象类

抽象类

抽象类定义:

在定义类前面加上一个关键词 abstract

abstract class 类名

编译器不会初始化抽象类

abstract public class Canine{
	public void roam();
}
public class MakeCanine{
    public void go(){
        Canine c;
        c = new Dog();
        c = new Canine(); // 编译不通过,因为这个类已经被标记为abstract
        c.roam();
    }
}

抽象类除了被继承之外,是没有其他的用途,没有值,没有目的

抽象与具体

不是抽象的类就被成为具体类.在Java API中发现很多的抽象类

抽象的方法

除了类之外,也可以将方法标记为abstract的.抽象的类代表此类必须要被及继承,抽象的方法代表此方法一定要被覆盖过.

抽象的方法没有实体!!!
public abstract void eat(); // 没有方法体!直接以分号结束

如果你声明出一个抽象的方法,就必须将类也标记为抽象的,你不能在非抽象类里面定义抽象的方法(就算类里面只有一个抽象方法,此类也必须标记为抽象类)

必须要实现所有的抽象的方法

实现抽象方法就如同覆盖过方法一样

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值