Day02-多态-抽象类-接口-final

1.继承:子类构造器  特点:子类的所有构造器都会使用super关键字调用父类构造

                                  应用:使用super()给父类中的成员变量赋值

                                  注意: this(),super()都必须放在构造器的第一行

                                              this(),super()在一个构造器中不能同时存在

2.多态:概述:对象的多态和行为的多态:一个对象可以拥有多种形态

                                                                    多个对象针对同一种行为可以表现出不同的结果

              前提:1.必须有继承关系或实现关系

                         2.必须有父类类型的变量引用了子类类型的对象

                         3.必须有方法重写,如果不重写语法不报错,但是没有意义

             多态的语法规则:调用方法的时候,编译检查父类,运行检查子类

             好处:1.在多态形式下,右边对象是解耦合的,更便于扩展和维护

                        2.定义方法时,形参设计成父类类型的,可以接受一切子类对象,扩展性更强,更便利

           弊端:不能使用子类特有的方法

           多态转型: 1.自动类型转换(小转大)

                              2.强制类型转换 (一旦将多态形式的对象,转成了子类的原始类型,就可以使用子类特有的方法了)

                              3.可以配合if语句和instaceof关键字对多态形式的对象判断原始类型

3.final   概述:是Java的修饰符,表示最终的意思

             语法:1.修饰类-该类不能被继承

                        2.修饰方法-该方法不能被重写

                        3.修饰变量 :基本数据类型-数据只能赋值一次

                                              引用数据类型-地址值只能赋值一次,但是对象中的内容可以更改

            应用场景: 1.如果在类或接口中定义一些固定不变的数据,让别人使用的时候,可以使用final,变成常量

                               2.如果作为父类,我们的方法不希望子类重写,可以使用final修饰方法

                               3.如果类中所有的方法都不希望别人重写,可以将类final;

4.抽象类       概述: 使用abstract关键字修饰的类就是抽象类

                     语法: public abstract class 类名{类的成员}  1.成员变量

                                                                                            2.成员方法

                                                                                            3.构造器

                                                                                            4.抽象方法(使用abstract修饰且不带方法就是抽象方法)

                                                                                            5.代码块和静态代码块

                     特点:1.抽象类不能直接创建对象  -因为他是抽象的描述某种事物的,且描述事物的                                  时候,有些功能只是知道有,但是具体如何完成,不确定,需要由具体的子类完成

                               2.子类继承抽象类的时候必须重写抽象类中的所有的抽象方法,否则子类也必须是抽象类

                              3.抽象类中可以不写抽象方法,但是抽象方法的类一定是抽象类

                    应用场景:

                                                仅在一些设计模式中使用- 模块设计模式: 概述: 对一些功能的流                                                                                                                                 程进行限制,将                                                                                                                                   不同的实现抽象                                                                                                                                   到一个抽象方法                                                                                                                                   中,由子类完成

                                                                                                                    语法:1.定义一个抽象类

                                                                                                                               2.写两个方法:2.1  final的模板办法,负责规定流程/模板   

2.2  抽象方法,这个方法强制子类重写模板中规定的内容

                                                                                                                               3.让子类继承模板类,重写抽象方法,完成具体功能

                                                                                                                              4.在测试类中,创建子类对象,调用模板方法

5.接口   

概述: 使用interface关键字修饰的一种引用数据类型

语法:public interface 接口名{ 接口的成员}

           类实现接口  -----public class 类名 implements 接口1,接口2....{}

接口的成员    

<=JDK7   ---------常量一般使用public static final 修饰

                ---------抽象方法 意义就是强制实现类必须按这个方法声明完成工作

 ==8        -----------新增了默认方法 使用default修饰的方法,带方法体,可以用实现类对象调用 注意:当多个接口中 有重名的默认方法的时候,实现类必须重写!

                 ---------新增了静态方法 通过接口名直接调用,提高了代码的复用性

>=9          ----------新增了私有方法  仅仅是为了提升静态方法和默认方法的代码的复用性

 接口的意义        规定了做事情的规范,方便合作及多态的应用                                                                                           

                                    

                                                                                                                       

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值