当前位置: 首页 > article >正文

[Java、Android面试]_07_继承与多态、重写与重载

本人今年参加了很多面试,也有幸拿到了一些大厂的offer,整理了众多面试资料,后续还会分享众多面试资料。

整理成了面试系列,由于时间有限,每天整理一点,后续会陆续分享出来,感兴趣的朋友可关注+收藏

文章目录

    • 1. 继承
    • 2. 多态
    • 3. 重写和重载
      • 3.1 重写
      • 3.2 重载

1. 继承

继承是一种面向对象编程的机制,允许一个类(子类/派生类)继承另一个类(父类/基类)的属性和方法。子类可以重用父类的代码,还可以通过添加新的属性和方法来扩展功能。继承建立了类之间的层次关系。
一方面为了共用父类中的成员,简化开发,可以直接拥有父类的成员
二方面为了扩展程序,继承的子类中除了父类的成员,还可以有自己的成员
继承一定要符合is-a的关系

哪些东西是子类所不能继承的
· 构造方法不能被继承
· 私有的成员可以不可以

从现实中来看,私有成员可以被继承的。能继承不代表可以直接访问父类的属性,也不代表不能间接的访问父类的属性

从代码来看,子类继承父类之后,父类中所有的属性子类都具有了
从现实中来看,私有的属性有些子类不能继承。

Oracle官方的说法是不能被继承。私有代表只能自己操作。其他人根本摸不到,但是可以间接的访问
· 静态的成员:在类中是可以被继承的。在接口中不能被继承。

2. 多态

多态是面向对象编程的一种特性,允许不同的子类对象以统一的方式进行访问和操作。多态通过方法的重写(覆盖)和方法的动态绑定来实现,使得不同子类对象可以对相同的方法调用表现出不同的行为。
如:人class, 可以有:man Class 和woman Class

3. 重写和重载

3.1 重写

· 子类继承了父类,子类拥有了和父类一样的属性和行为,但是,子类不满足于父类的
行为,需要重写
· 方法的重写一般是发生在继承中的。
· 方法签名不能变。返回值类型可以协变(子类的返回值类型只能是父类的返回值类型
的子类)
· 真正改变的只是方法体
· @Override:注解,检查这个方法是否符合重写的规则,如果符合,什么都不会显示,
一旦写错,它就有提示
· 访问修饰符没有要求,但是不能比父类的小。父类私有的方法,不能重写。
· 父类静态方法。子类只能继承,不能重写,如果存在方法签名与父类相同的静态方法,
实际是子类自己的

3.2 重载

重载是指在一个类中定义多个同名但参数列表不同的方法。重载允许同一个方法名实现不同的功能,方法参数的类型、个数或顺序必须不同。重载不涉及继承关系,只与方法的签名有关。


http://www.kler.cn/a/271864.html

相关文章:

  • C++内存分布与进程地址空间
  • # [Unity]【游戏开发】 脚本生命周期与常见事件方法
  • 大数据学习(40)- Flink执行流
  • 安装VMware17
  • 三、双链表
  • HarmonyOS Next 应用UI生成工具介绍
  • django 定时任务的创建
  • js中怎样添加、移出、插入、复制、创建?
  • Python中的变量是什么类型?
  • Java学习笔记(15)
  • 【工具】一键生成动态歌词字幕
  • 国外visa卡怎么办理,可充ChatGPTPLUS、Claude、Midjourney
  • 【LeetCode热题100】 94. 二叉树的中序遍历(二叉树)
  • 前端框架vue的样式操作,以及vue提供的属性功能应用实战
  • 介绍一款鼠标无边界软件
  • RUST egui部署到github
  • 计算机原理(基础02)
  • 三大排序(插入排序,选择排序,冒泡排序)
  • Python 查找并高亮PDF中的指定文本
  • webpack一些常用的Loader和Plugin
  • 二叉树的初步学习和顺序结构实现
  • 解决: java.util.concurrent.CancellationException详解
  • 鲸鱼优化算法改进风储机组一次调频出力分配系数,以频率偏差最小为目标优化函数,结合鲸鱼算法WOA捕食过程,改进风储出力分配系数simulink与matlab联合
  • Secure MIMO Communication Relying on Movable Antennas
  • 100道面试必会算法-04-合并两个有序链表以及数组
  • Mac中文输入法区分回车和提交