面向对象----多态

一.转型---类型转换 

多态调用对子类新增内容不可见

向上转型:多态    自主类型提升

向下转型(强制转换):父类引用 转为对应的子类类型

引用instanceof 类型

避免出现向下类型转换错误,出现进行强转。在强转类型前进行判断

抽象类:abstract抽象的

被abstract修饰的类是抽象类

被abstract修饰的方法是抽象方法

抽象方法没有方法体     抽象方法必须定义与抽象类汇总

注意:

1.抽象类不能实例化

2.抽象类可以定义抽象方法,可以定义非抽象方法,属性,构造器...

3.抽象方法必须定义与抽象类中

4.抽象类的使用:通过具体子类对象调用

        具体子类:重写所有的抽象方法+按需新增

        抽象子类:按需重写抽量方法+按需新增

5.一个抽象方法一旦被重写,后续的子类中可以不再被重写,可以按需重写

6.抽象方法必须要被重写,没有重写,没有方法体,不能调用

7.abstract不能与static,private,final与native一起使用

接口:

        特殊的抽象类

        接口是一个引用数据类型

        接口为抽象功能的集合

        类单继承机制,接口是多实现机制

        接口定义开发规范

        解耦,降低耦合度

定义:

        interface        定义接口

接口--》通过implements 实现接口

父类--》需要通过extends继承父类

继承与实现的区别:

        子类继承父类,就可以直接有权使用父类的成员(侧重点:直接拿过来用)

        实现类实现接口,实现类就有了接口定义的功能,但是功能都是抽象的,没有方法体的,需要实现类自己去实现的

使用:

        1.接口不能实例化

        2.需要通过实现类实现接口使用

                具体的实现类:重写所有的抽象方法+按需新增

                抽象的实现类:按需重写抽象方法+按需新增

        3.类只能被类继承,接口只能被类实现

        4.类只能单继承父类,但是可以实现多个接口

        5.先继承父类后实现接口

        6.一个接口可以继承多个接口,接口可以多继承接口

        7.避免实现的接口中存在相同的方法

        8.接口存在多态

jdk1.7及之前

        1.公共的静态的常量        public        static        final---》任意省略

        2.公共的抽象的方法        public        abstract----》任意省略

jdk8.对接口新增

        1.静态方法 : 只能通过接口名调用,不能通过实现类对象调用

        2.默认方法 : 被default修饰的方法,只能通过类实现调用

注意:父类与接口不能完全互相代替,推荐使用接口;

将能力(例子:吸烟,喝酒)定义为接口

          张三会吸烟,实现该接口

        

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值