140-抽象类的使用方式

1.1. 抽象类的使用

点击查看视频讲解

1.1.1. 抽象类不能实例化,只能由子类继承

抽象类不能创建对象,因为抽象类中有抽象的函数;如果可以创建对象,就可以通过对象调用抽象的函数;而调用抽象的函数是没有意义的;

1.1.1. 子类继承抽象类,必须实现父类的所有抽象函数,否则子类也是抽象的

子类继承抽象父类,子类中就把父类的抽象函数也继承下来了;如果不重写这些抽象函数,就说明子类中也有抽象函数,所以子类就要定义为抽象类;

如果子类需要被实例化,就不能定义为抽象类,就不能有抽象函数,就必须在子类中将从父类继承下来的抽象函数重写一下;

1.1.1. 抽象类的使用方法

一般开发中,会先定义共同的父类,然后根据具体需求,去书写子类;

如果有些功能在开始不确定如何书写,那么就应该定义为抽象函数,交给子类去实现;

 

需求:编写程序,模拟手机使用网络信号(NetworkSignal)打电话的功能;;

注意:联通手机(UnicomMobile)和移动手机(MobilePhone)使用的网络不同,所以具体实现也会有不同;

 

 

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

public class AbstractTest {

    public static void main(String[] args) {

        new UnicomMobile().call("18888888888");

            new MobilePhone().call("18666886688");

        }

    }

    /*

     *  需求:编写程序,模拟手机使用网络信号(NetworkSignal)打电话的功能;;

    注意:联通手机(UnicomMobile)和移动手机(MobilePhone)使用的网络不同,所以具体实现也会有不同;

     * */

    abstract class Phone{

        //定义一个获取网络的方法

        public abstract String getNet();

        public void call(String num) {

            String net = getNet();

            System.out.println("使用"+net+"网络,给"+num+"打电话!");

        }

        }

        //定义一个移动手机,可以使用移动网络

        class MobilePhone extends Phone{

            public String getNet() {

            return "移动";

            }

        }

        //定义一个联通手机,可以使用联通网络

        class UnicomMobile extends Phone{

            public String getNet() {

            return "联通";

        }

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值