面向对象进阶(多态&包&final&权限修饰符&代码块)

 多态:

多态是java面向对象三大特性之一

多态也就是一个对象的多种形态。

前提【重点】

        有继承或者实现关系

        方法的重写【意义体现:不重写,无意义】

        子类对象赋值给父类类型

多态的使用场景

        父类作为形参,给这个方法传递的父类,可以是父类的子类,在方法中根据传递的不同对象来调用不同类中的方法。

多态的运行特点

        调用成员变量时:编译看左边,运行看左边

        调用成员方法时:编译看左边,运行看右边

多态的弊端

        无法运行子类的特有功能

引用类型转换

        由于多态的方式调用方法无法调用子类的特有功能,所以需要做类型转换

类型转换分为向上转换向下转换,向上转换是自动转换

多态中: 

        子类对象赋值给父类类型的变量就是向上转换,这个过程是自动转换。

        引用父类转换为子类对象就是向下转换,这个过程是强制转换。

        为了避免转换出现异常,java提供了instanceof关键字,它可以对转换前的引用父类做类型校验,使用instanceof可以增加程序的健壮性。

        jdk14之后有一个新特性,instsanceof只需要一行代码实现在检验的同时可以直接强转。

   

 包和权限修饰符:

包就是文件夹,包是用来管理不同的功能,也就是分类。

权限修饰符有4个:

public:公共的,都可以访问。

protected:受保护的,只有同一个包下或者子类才能使用。

没加修饰符的:默认,只有同一个包下的才能使用。

private:私有的,只有本类可以使用。

 final关键字:

final修饰的,不能被继承

final修饰的方法,不能被重写

final修饰的局部变量,只能赋值一次

final修饰的成员变量,正常就是显示初始化。被final修饰的常量名称,一般都有书写规范,所有字母都大写

 栗题:

https://download.csdn.net/download/weixin_65861329/87052025

posted @ 2022-11-21 15:55  suweijie  阅读(40)  评论(0)    收藏  举报