java-抽象类
语法定义
用abstract关键字修饰的类,则该类就是抽象类应用场景
a、在某些情况下,某个父类只知道其子类应该具有怎样的方法,
但无法准确知道子类如何实现这些方法,即:约束子类应该具有哪些方法。
b、从多个具有相同特征的类中抽象出一个抽象类,以这个抽象类做
为子类的模板,从而避免了子类设计的随意性。作用
限制子类必须实现某些方法,但不关注实现细节。使用规则
a、abstract定义抽象类
b、abstract定义抽象方法,只有声明,不需要实现
c、包含抽象方法的类是抽象类
d、抽象类中可以包含普通方法,也可以没有抽象方法
e、抽象类不能直接实例化,要么写一个实体类去继承这个抽象类,要么写成匿名内部类。- 例
父类抽象类:
public abstract class Telphone {
public abstract void call();
public abstract void message();
}
子类:
public class HuaWei extends Telphone {
public void call() {
// TODO Auto-generated method stub
System.out.println("可以通过WIFI打电话!");
}
public void message() {
// TODO Auto-generated method stub
System.out.println("可以通过虚拟键盘发短信!");
}
}
测试类:
public static void main(String[] args) {
// TODO Auto-generated method stub
Telphone tel1=new HuaWei();//抽象类的父类引用指向子类对象
tel1.call();
tel1.message();
}
结果:
可以通过WIFI打电话!
可以通过虚拟键盘发短信!