首页 > 其他分享 >面向对象进阶(多态&包&final&权限修饰符&代码块)

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

时间:2022-11-21 16:00:18浏览次数:47  
标签:转换 进阶 子类 修饰符 多态 父类 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

标签:转换,进阶,子类,修饰符,多态,父类,final
From: https://www.cnblogs.com/suwejie/p/16889856.html

相关文章

  • 109:多态
        多态(polymorphism)是指同一个方法调用由于对象不同可能会产生不同的行为。在现实生活中,我们有很多例子。比如:同样是调用人的休息方法,张三的休息是睡觉,李四的休息......
  • vue2 双向绑定3 v-model 及专用修饰符 .number .trizy .lazy
    v-model:在不操控dom的时候,快速获取表单内的数据,双向绑定,更改input框的时候,data值也会随之改变    修饰符:.number将输入值转为number类型......
  • 多态之抽象类
    当父类中的方法不知道如何去实现的时候,可以考虑将父类写成抽象类,将方法写成抽象方法比如:狗狗会叫,猫咪也会叫,可以使用abstract关键字标记一个抽象的动物类,抽象的方法 ......
  • python函数进阶
    #1.函数的作用域#全局变量的作用域:#一般在函数体外定义的变量成为全局变量,在函数内部定义的变量称为局部变量。#全局变量所有作用域都可用,局部变量只能在本函数可......
  • MySQL进阶实战1,数据类型与三范式
    一、选择优化的数据类型MySQL支持的数据类型非常多,选择正确的数据类型对于获得高性能至关重要。1、更小的一般情况下,应该尽量使用较小的数据类型,更小的数据类型通常更快,因为......
  • 多态
    多态即同一方法可以根据发送对象的不同而采用多种不同的行为方式。一个对象的实际类型是确定的,但可以指向对象的引用的类型有很多(父类,有关系的类)多态存在的条件......
  • Python算法(进阶)
    1.01背包问题有若干物品,每个物品有对应的重量weight和价值value,背包容纳重量为bag_weight,在背包允许的重量下,往背包内放物品,每个物品只能放一次,保证其价值最高w......
  • 4. Vue 【进阶】- 模板引擎
    Vue【进阶】-模板引擎vue的源码学习流程和知识点分析本次您将学习到的东西前期准备1.简介1.1什么是模板引擎模板引擎是将数据要变为视图最优雅的解决方案1......
  • 5. Vue 【进阶】- AST 抽象语法树
    Vue【进阶】-AST抽象语法树1.AST简介在开发Vue的时候编译器会将模板语法编译成正常的HTML语法,而直接编译的时候是非常困难的,因此此时会借助AST抽象语法树进行周转,进......
  • 「进阶」缓解眼睛疲劳,防蓝光保护视力,关爱健康!- CareUEyes
    软件官网地址:https://care-eyes.com/显示对于显示页面来说8个模式下面都有对应的介绍说明,不再介绍。笔者建议软件调节之前,先退出软件,用系统自带的亮度调节,进入电源选......