Java 中的抽象类

来源:互联网 发布:数据分析平台交互设计 编辑:程序博客网 时间:2024/05/16 10:01

使用了关键词abstract声明的类叫作“抽象类”。如果一个类里包含了一个或多个抽象方法,类就必须指定成abstract(抽象)。

“抽象方法”,属于一种不完整的方法,只含有一个声明,没有方法主体。

使用抽象类要注意以下几个要点:

包含一个或者多个抽象方法的类必须被声明为抽象类.
将类声明为抽象类,不一定含有抽象方法.
通常认为,在抽象类中不应该包括具体方法,建议尽量将通用的域和方法放在超类中.
抽象类不可以被实例化.即不能创建这个类的对象
实例代码:

package com.imooc.chouxiang;

 //定义一个抽象父类Telephone

public  abstract class Telephone {

  //定义两个抽象方法,抽象方法没有方法体,以分号结束。

  public abstract void call();

  public abstract void message();

}


定义两个子类CellPhone,SmartPhone继承Telephone,子类会自动生成call,message方法,在子类中实现具体的方法。

package com.imooc.chouxiang;

 public class CellPhone extends Telephone {

     @Override

    public void call() {

        System.out.println("传统手机用键盘拨打电话!!");

     }

     @Override

    public void message() {

               System.out.println("传统手机用键盘发短信!!");

    }

 }


package com.imooc.chouxiang;

 public class SmartPhone extends Telephone {

     @Override

    public void call() {

               System.out.println("智能手机用语音拨打电话!!");

     }

     @Override

    public void message() {

               System.out.println("智能手机用语音发送短信!!");

    }

 }


创建一个测试类测试抽象类及子类,代码及运行结果如下:

package com.imooc.chouxiang;

 public classTestPhone {

     public static void main(String[] args) {

        //CellPhone的一个实例

        Telephonetl1=new CellPhone();

        //调用CellPhone的两个方法

        tl1.call();

        tl1.message();

        //SmartPhone的一个实例

        Telephonetl2=new SmartPhone();

        //调用SmartPhone的两个方法

        tl2.call();

        tl2.message();

    }

 }

 运行结果如下:

传统手机用键盘拨打电话!!

传统手机用键盘发短信!!

智能手机用语音拨打电话!!

智能手机用语音发送短信!!





0 0
原创粉丝点击