查企业年报的网站,WordPress文章字号设置,怎么用网络推广业务,凡科小程序教程JavaSE#xff08;上#xff09;-Day10 多态多态中成员变量的调用多态中成员方法的调用多态的优缺点 包final关键字权限访问修饰符代码块 多态
什么是多态#xff1a;对象的多种形态多态的前提是#xff1a;有继承或实现关系#xff1b;子类重写父类的方法#xff0c;父… JavaSE上-Day10 多态多态中成员变量的调用多态中成员方法的调用多态的优缺点 包final关键字权限访问修饰符代码块 多态
什么是多态对象的多种形态多态的前提是有继承或实现关系子类重写父类的方法父类接收子类对象多态的好处父类作为形参时可以接收任何的子类对象可调用子类的重写方法
多态中成员变量的调用
编译过程看左边运行过程也看左边
多态中成员方法的调用
编译过程看左边运行过程看右边
多态的优缺点
当父类作为参数时可以接收任意的子类对象但是参数不能调用子类的特有功能想要调用子类的特有功能需要强制类型转换转换如果类型不一致可能会报错classCaseException可以通过 参数 instanceof 子类判断是不是可以转换成这个类返回值为true表示是返回值为false表示JDK14增加了新特性简化了代码让判断和强转一气呵成参数 instanceof 子类 变量名是这个子类就会为变量名赋值
包
包的本质是文件夹用于管理不同的Java类便于代码的维护包的书写规则是公司的域名反写包的作用需要全部小写见名知意全类名也叫全限定名是包名类名如果引用的类是同一个包下是不需要导包的如果引用的类是java.lang下的也是不需要导包的如果引用的是其他包下的是需要导包或者写全类名的如果引用了两个不同包下的同名类是需要使用全类名来区分的
final关键字
final修饰的关键字可以修饰类方法变量final修饰的类不可以被继承如String,Mathfinal修饰的方法不可以被子类继承到无法重写final修饰的变量只能赋值一次被称为常量大写用下划线分隔常量如果是基本数据类型值不可以改变常量如果是引用数据类型地址值不可以改变内存中的成员变量是可以改变
权限访问修饰符
关键字本类本包其他包子类项目private√默认√√protected√√√public√√√√
private和public日常用的最多private主要用于修饰成员变量一些频繁被调用的方法也会被设置为privatepublic主要用于修饰成员方法和类
代码块
代码块分为三种局部代码块构造代码块静态代码块局部代码块在方法体内部用于控制变量的生命周期随着内存的增多被淘汰了构造代码块与成员变量同级用于提取构造方法中的重复代码它先于构造方法运行局限性大不常使用静态代码块是用static修饰的构造代码块用于初始化静态属性随着字节码文件加载到元空间就执行只能调用静态成员