多态、内部类、Lambda表达式
介绍多态
(1)什么是多态?
同一种事物,由于条件不同,产生的结果也不同;多态:同一个引用类型,使用不同的实例而执行不同操作




(2)向上转型 向下转型
向上转型(也叫自动类型转换,因为是把范围较小的子类对象赋值给范围大的父类对象,所以可以自动转换): 将一个子类对象赋值给一个父类类型的变量。
父类类型 父类变量=new 子类类型()。
此时父类类型变量能调用的方法是:
此时通过父类引用变量调用的方法是子类覆盖或继承父类的方法,不是父类的方法。
此时通过父类引用变量无法调用子类特有的方法。
父类类型变量,如果想调用子类中特有的方法,需要将父类类型的变量向下转型。在向下转型的时候注意子类的类型(使用instanceOf关键字判断)
向下转型(也叫强制类型转换):将一个指向子类对象的父类引用赋给一个子类的引用,即:父类类型转换为子类类型。



(3)将父类当作方法的参数
使用父类作为方法的形参,是Java中实现和使用多态的主要方式
使用父类作为方法的返回值,也是Java中实现和使用多态的主要方式
内部类












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







Lambda表达式



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



浙公网安备 33010602011771号