①什么是多态?
专业的描述:在继承的条件下、具有多种行为表现的集合特征
举例:
动物是父类,
猫狗羊是其子类,
三种动物都会叫,
这就是多态的表现
②什么是向上转型?语法要求是什么?
1、通俗的描述:在继承的条件下,将子类的对象赋给父类的对象
2、专业的描述:在继承的条件下,父类的引用指向子类的引用(对象)
本质上是地址发生变化
语法要求:无需进行强制类型转换,而是自动类型转换。
此时对象的调用规则:调用的是子类重写父类的方法,而不能
调用子类特有1的方法
③什么是向下转型?语法要求是什么?
1、通俗的描述:在继承的条件下,将父类的对象赋给子类的对象
2、专业的描述:在继承的条件下,子类的引用指向父类的引用(对象)
语法要求:必须进行强制类型转换
温馨提示:初步了解异常转换类型,前提是先向上转型在向下转型
④实现多态的三个条件是什么?
1、继承必须存在
2、子类要重写父类的方法
3、向上转型
⑤使用多态有什么好处?
1、代码复用、减少代码量
2、软件系统得到进一步扩展
3、在企业级开发中,为设计人员提供了软件功能的健壮性和维护性
4、便于分工协作,提高开发效率,降低软件开发成本。
补充:使用多态的概念来体会开发过程中的好处
◆instanceof运算符的作用和语法格式?
好处:提高代码的健壮性,通常与强制类型转换结合使用
◆向上转型的规则(子类转换成父类的规则)?
调用的是子类重写父类的方法
而不能调用子类特有的方法
①请说出定义一个接口的关键字?
背景:生活中:USB接口,电子工程学,软件工程学
软件开发中:功能模块的集合,软件的功能架构或者标准提前定义
1、软件(应用系统的骨架)
2、软件设计领域借用电子工程学的接口概念
3、软件接口(接口思想出现前实际上是抽象类一个概念上的过度)
关键字:interface
②请说出实现一个接口的关键字,如何实现一个接口?
1、自定义一个实现类,使用implements关键字,后面跟多个接口名称
2、推荐该实现类的所有接口中所有抽象方法,否则将实现类定义为抽象类。
3、一个类在实现一个接口或者多个接口的同时也可以继承一个类
③接口有哪些特性?(重点内容)
1、接口支持public和默认两种权限
2、接口命名规范与类相同
3、接口可以继承一个或者多个接口,使用逗号分割,但不能继承类
4、接口中不能定义变量、只能定义常量,系统默认添加
5、接口的方法都是全局抽象方法,系统默认添加
6、接口不能实例化,没有构造方法!
◆◆◆◆根据JDK的版本、动态决定接口的新特性
④接口与抽象类之间的区别是什么?(补充内容)
1、接口可以多继承、抽象类单继承
2、接口中没有构造方法、抽象类中有构造方法
3、接口中的方法都是抽象方法、抽象类中可以没有抽象方法
4、接口中只能定义常量、抽象类中可以定义常量也可以定义变量
5、接口不能继承类,抽象类可以继承类
6、定义接口时使用的关键字是Interface,定义抽象类是关键字是class
课后思考:使用接口编程的思想好处是什么?