多态、内部类、Lambda表达式

介绍多态
(1)什么是多态?

同一种事物,由于条件不同,产生的结果也不同;多态:同一个引用类型,使用不同的实例而执行不同操作

 

 

 

 

 

 

 

 

 

(2)向上转型 向下转型

向上转型(也叫自动类型转换,因为是把范围较小的子类对象赋值给范围大的父类对象,所以可以自动转换): 将一个子类对象赋值给一个父类类型的变量。
父类类型 父类变量=new 子类类型()。

此时父类类型变量能调用的方法是:
此时通过父类引用变量调用的方法是子类覆盖或继承父类的方法,不是父类的方法。
此时通过父类引用变量无法调用子类特有的方法。

父类类型变量,如果想调用子类中特有的方法,需要将父类类型的变量向下转型。在向下转型的时候注意子类的类型(使用instanceOf关键字判断)

向下转型(也叫强制类型转换):将一个指向子类对象的父类引用赋给一个子类的引用,即:父类类型转换为子类类型。

 

 

 

 

(3)将父类当作方法的参数

使用父类作为方法的形参,是Java中实现和使用多态的主要方式

使用父类作为方法的返回值,也是Java中实现和使用多态的主要方式

 

 

内部类

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

作用:有助于我们不需要去定义一个子类,就可以直接快速方便的去构建一个对象

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Lambda表达式

 

 

 

 

 

 Lambda表达式简化常见函数式接口:

 

 

 

 

 

posted @ 2022-10-18 15:00  去公司搞点薯条  阅读(50)  评论(0)    收藏  举报