Java 基础抽象类

来源:互联网 发布:网络语bug什么意思 编辑:程序博客网 时间:2024/05/21 01:43
1.语法定义:

抽象类钱使用abstract关键字修饰,则该类为抽象类.

2.应用场景p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px '.PingFang SC'; color: #454545}span.s1 {font: 12.0px 'Helvetica Neue'}

a.在某些情况下,某个父类只知道子类应该包含怎样的方法,但是无法准确知道子类是如何实现这些方法.(约束子类必须有哪些方法,并不关注子类如何实现)

3.代码实现

1.创建抽象类

p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #931a68}p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px}p.p3 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #4e9072}p.p4 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco}span.s1 {color: #000000}span.s2 {color: #4e9072}span.Apple-tab-span {white-space:pre}

public abstract class TellPhone {

//没有方法体,以分号结束

public abstract void call();//打电话能力

public abstract void message();//发短信功能

}

2.继承TellPhone创建普通电话类

p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco}p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px}p.p3 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #4e9072}p.p4 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #777777}span.s1 {color: #931a68}span.s2 {color: #000000}span.s3 {color: #777777}span.s4 {color: #0326cc}span.s5 {color: #3933ff}span.Apple-tab-span {white-space:pre}

public class CellPhone extends TellPhone {

@Override //覆盖自动实现抽象类里的方法

public void call() {

      System.out.println("打电话");

}

@Override

public void message() {

System.out.println("发短信");

}

}

3.继承TellPhone创建智能手机类

public class SmartPhone extends TellPhone {

@Override

publicvoid call() {

//TODO Auto-generated method stub

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

}

@Override

publicvoid message() {

//TODO Auto-generated method stub

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

}

}

4.实现测试:

public class JavaTest {

public staticvoid main(String[] args) {

     //父类的引用指向子类类对象

    TellPhone tel=new CellPhone();

    tel.call();

    tel.message();

          

    //父类的引用指向子类的对象

    TellPhone tel1=new SmartPhone();

    tel1.call();

    tel1.message();

}

}

运行结果:

打电话

发短信

语音打电话

语音发短信