java中的抽象类

来源:互联网 发布:知乎搜索引擎地址 编辑:程序博客网 时间:2024/05/21 14:00

1、语法定义

        抽象类使用前 用 abstract 关键字修饰,则该类为抽象类。

2、应用场景

     a、在某些情况下, 某个父类知道其子类应该包含怎样的方法,但无法准确的知道这些子类如何实现这些方法

     b、从多个具有相同特征的类中抽象出一个抽象类,以这个抽象类作为子类的模板,从而避免了子类设计的随意性

3、作用

     限制规定子类必须实现某些方法,但不关注实现细节

4、使用规则

     a、abstract 定义抽象类

     b、abstract 定义抽象方法,只有声明,不需要实现

     c、包含抽象方法的类是抽象类

     d、抽象类中可以包含普通的方法,也可以没有抽象方法

     e、抽象类不能直接创建,可以定义引用变量


public abstract class Telphone{

    public abstract void call();            //抽象方法没有方法体  以分号结束

    public abstract void message();

}


public class CellPhone extends Telphone{           //继承抽象类  自动生成 抽象方法

    public void call(){

      System.out.println("通过键盘来打电话");

    }

    public void message(){

      System.out.println("通过键盘来发短信");

    }

}

public class SmartPhone extends Telphone{           //继承抽象类  自动生成 抽象方法

    public void call(){

      System.out.println("通过语音来打电话");

    }

    public void message(){

      System.out.println("通过语音来发短信");

    }

]


public class Initail{

    public static void main(String[] args){

     Telphone tel1 = new CellPhone();

      tel1.call();

      tel1.message();


     Telphone tel2 = new SmartPhone(); 

      tel2.call();

      tel2.message();


    }

}

结果:通过键盘来打电话

            通过键盘来发短信

            通过语音来打电话

            通过语音来发短信

原创粉丝点击