抽象类
抽象类定义:
在定义类前面加上一个关键词 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(); // 没有方法体!直接以分号结束
如果你声明出一个抽象的方法,就必须将类也标记为抽象的,你不能在非抽象类里面定义抽象的方法(就算类里面只有一个抽象方法,此类也必须标记为抽象类)
必须要实现所有的抽象的方法
实现抽象方法就如同覆盖过方法一样

被折叠的 条评论
为什么被折叠?



