java面向对象高级(继承 多态 final 抽象类 接口)

继承: 

        子类构造器:

                        子类所有的构造器都会先访问父类的空参构造器,在执行自己的构造器

                        在子类的构造器中,第一行默认都是super(); 不管你自己写不写都有

                    使用场景:子类构造器中,使用super(参数)

                     补充知识:this()访问本类中的其他构造器

多态:

        分类:

                对象多态:

                                同一个类型的变量,可以指向不同的对象

                行为多态:

                                同一个类型的变量,调用相同的方法,执行出不同的结果

        前提:必须存在 继承/实现 关系 ,并且有方法重写

        好处:Aninal a= new Cat()

               左边和右边松耦合

                定义方法,使用父类变量,接收一切子类对象,可以使方法变得具有通用性,有利于维护和扩展

        弊端:不能使用父类变量,直接调用子类特有成员

        类型转换:

                自动类型转换  小范围的赋值给大范围的,自动完成

                                        大范围的不能直接赋值给小范围的

                 强制类型转换  子类 变量=(子类) 父类变量

                                        可能会报:ClassCastException异常  类型转换异常

                                         instanceof  变量 instanceof类型

final:

        概念:final是最终的意思,他所修饰的成员,都不能在改变

        使用:

                修饰类:不能被其他类继承

                修饰方法:不能被子类重写

                修饰变量:只能赋值一次

        常量: 

                public static final 类型 SCHOOL_NAME = 值

                使用常量的地方,编译完了之后,被字面量替代

                便于维护

抽象类:

        概念:被abstract修饰的类,叫做抽象类

                 被absteact修饰的方法,叫做抽象方法,抽象方法是没有方法体

        易错点:抽象类可以没有抽象方法

                    抽象方法所在的类,必须是抽象类

        特点: 外部不能直接new 创建对象

                  借助于抽象类的子类来使用

        好处:更好的支持多态

        模版设计模式:

                解决问题:不同类的方法中,出现了相同的代码

                书写:1.定义了一个具体的方法,书写共性的代码

                        2.定义一个具体的方法,书写共性的代码

                           定义一个抽象方法,描述特性的内容,具体的内容需要让子类完成

接口:

        特点:不能直接new对象

                借助于接口的实现类完成 public class 实现类名 implements 接口名 ,接口名{}

                实现类必须实现接口中所有的方法,负责自己必须是抽象的(后面mybatisplus可不用实现)

        好处:1.更方便扩展类的功能,弥补单继承的缺陷

                2.借助于多态,完成面向接口编程.右边new的东西可以随意切换

        接口的继承特点:支持多继承

        

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值