abstract定义抽象类
abstract定义抽象方法,只需要声明,不需要实现
包含抽象方法的类是抽象类
抽象类中可以包含抽象方法,也可以包含普通方法
抽象类不能直接创建,可以定义父类引用变量指向子类的对象
子类继承抽象类,必须实现父类中的抽象方法
抽象类的应用场景:
1.父类只知道子类应该包含的方法,但是不知道子类如何去实现这些方法,约束子类必须有哪些方法,但是并不关心它如何实现。
2.从多个具有相同特征的类中抽象出一个抽象类,以抽象类作为子类的模板,避免子类设计的随意性
package com.wangcf;
//父类
public abstract class Animal {
public abstract void eat();
}
package com.wangcf;
//子类
public class Bridge extends Animal{
/**
* 这个抽象方法必须实现
*/
@Override
public void eat() {
// TODO Auto-generated method stub
System.out.println("子类鸟,爱吃虫子");
}
}
package com.wangcf;
//子类
public class Tiger extends Animal{
@Override
public void eat() {
// TODO Auto-generated method stub
System.out.println("子类老虎爱吃肉");
}
}
package com.wangcf;
//测试类
public class Test {
public static void main(String[] args) {
Animal animal=new Bridge();
animal.eat();
Animal animal2=new Tiger();
animal2.eat();
}
}