概念:
抽象类是指在普通类的结构里面增加抽象方法的组成部分。抽象方法,是指没有方法体的方法,同时抽象方法还必须使用关键字abstract做修饰。
如定义一个抽象类:
public abstract class A{ //定义一个抽象类
public void B(){ //普通方法
System.out.println("b");
}
public abstract void print();//抽象方法,没有方法体,有abstract关键字做修饰
}
使用原则:
1.抽象类不能直接实例化,需要依靠子类采用向上转型的方式处理;
2.抽象类必须有子类,使用extends继承,一个子类只能继承一个抽象类;
3.子类(如果不是抽象类)则必须覆写抽象类之中的全部抽象方法(如果子类没有实现父类的抽象方法,则必须将子类也定义为为abstract类。
应用如下:
public abstract class Animal {
public abstract void eat();
}
public class Cat extends Animal{
@Override
public void eat() {
System.out.println("猫吃鱼");
}
}
public class Dog extends Animal{
@Override
public void eat() {
System.out.println("狗吃骨头");
}
}
public class Test {
public static void main(String[] args) {
Animal a1 = new Cat();
Animal a2 = new Dog();
a1.eat();
a2.eat();
}
}
运行结果为:
猫叫:喵喵...
狗叫:汪汪...