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

在实践中学Java(中)面向对象

Java面向对象

Java继承

继承:子类继承父类的特征/实例域和行为/方法。

class 父类 {}
class 子类 extends 父类 {}

Java支持多重继承(C继承B,B继承A);不支持多继承

  • extends 只能继承一个
    implements 可以继承多个接口,用","隔开
    super 实现对父类成员的访问
    this 指向自己的引用
    finel 终态,类不能被继承,方法不能被改写

重写Override与重载Overload

  • 重写:子类对父类允许访问的方法的实现过程进行重新编写,返回值和形参都不能改变
    编译时检查参数的引用类型,父类中需有对应的方法,运行时运行实例对象的方法。
    通过super调用父类被重写之前的方法。
    标记@Override可以避免一些基本的错误。

  • 重载:在一个类中,方法名相同,参数不同,返回类型可同可不同。最常用的地方是构造器的重载。

多态

  • 什么是多态?同一个接口,使用不同的实例可执行不同的操作
  • 多态存在的三个必要条件:继承;重写;通过父类引用指向子类对象Parent p = new Child();实现动态绑定,在程序运行时(而不是编译时)根据对象的实际类型来确定调用哪个方法的的过程。
    在这里插入图片描述
class Shape {void draw() {}
}class Circle extends Shape {void draw() {System.out.println("Circle.draw()");}
}class Square extends Shape {void draw() {System.out.println("Square.draw()");}
}class Triangle extends Shape {void draw() {System.out.println("Triangle.draw()");}
}
http://www.xdnf.cn/news/1409509.html

相关文章:

  • 当 AI 开始 “筛选” 信息:算法偏见会加剧认知鸿沟吗?如何构建公平的 AI 生态?
  • 【算法笔记】算法归纳整理
  • (LeetCode 每日一题) 36. 有效的数独 (数组、哈希表)
  • 基于多模态大模型的PCB智能缺陷检测与分析
  • 人工智能学习:机器学习相关面试题(一)
  • 进程状态 —— Linux内核(Kernel)
  • 【动态规划】回文串问题
  • Wend看源码-marker(RAG工程-PDF文件解析)
  • R notes[2]
  • 鸿蒙Next文本组件全解析:输入框、富文本与属性字符串开发指南
  • Caffeine TimerWheel时间轮 深度解析:O(1)复杂度增删和触发时间事件
  • 李宏毅NLP-13-Vocoder
  • html添加水印
  • 2025年- H103-Lc211--3090. 每个字符最多出现两次的最长子字符串(双指针)--Java版
  • leetcode 268 丢失的数字
  • AG32 Nano开发板的烧录与调试工具(二)
  • 【开题答辩全过程】以 基于vue+springboot的校园疫情管理系统的设计与实现为例,包含答辩的问题和答案
  • 异步编程与面向对象知识总结
  • 家庭全光组网高温故障深度分析与散热重构全记录
  • 【图论】Graph.jl 核心函数
  • 一种使用 Java / Kotlin 编写检测BT种子的磁力链接是否有可用 peers 的程序
  • 扩展:如何设计与实现一个微服务架构下的跨服务异常处理适配器?
  • linux修改权限命令chmod
  • sunset: twilight靶场
  • 利用ms-swift微调和百炼平台微调大模型
  • FTP - 学习/实践
  • 【学习笔记】LLM Interview(Agent相关)
  • (附源码)基于Vue的教师档案管理系统的设计与实现
  • 安装Android Studio
  • centos 7 安装docker、docker-compose教程