语法定义 用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打电话! 可以通过虚拟键盘发短信!