当前位置: 首页 > 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.dtcms.com/a/359900.html

相关文章:

  • Elasticsearch vs Solr vs OpenSearch:搜索引擎方案对比与索引设计最佳实践
  • [光学原理与应用-353]:ZEMAX - 设置 - 可视化工具:2D视图、3D视图、实体模型三者的区别,以及如何设置光线的数量
  • 设计模式概述:为什么、是什么与如何应用
  • Ethers.js vs Wagmi 的差异
  • 如何利用AI IDE快速构建一个简易留言板系统
  • Playwright Python 教程:实战篇
  • 外贸服装跟单软件怎么选才高效?
  • C++ 迭代器的深度解析【C++每日一学】
  • 从零到一:使用anisble自动化搭建kubernetes集群
  • Openstack Eproxy 2025.1 安装指南
  • isat将标签转化为labelme格式后,labelme打不开的解决方案
  • IO_hw_8.29
  • TRELLIS:从多张图片生成3D模型
  • 【ACP】2025-最新-疑难题解析- 练习一汇总
  • Go学习1:常量、变量的命名
  • 一个投骰子赌大小的游戏
  • 内核等待队列以及用户态的类似机制
  • Chrome DevTools Performance 是优化前端性能的瑞士军刀
  • CD73.【C++ Dev】map和set练习题1(有效的括号、复杂链表的复制)
  • 嵌入式C学习笔记之编码规范
  • Nginx实现P2P视频通话
  • 现代C++特性 并发编程:线程管理库 <thread>(C++11)
  • 狂神说--Nginx--通俗易懂
  • 【秋招笔试】2025.08.31饿了么秋招笔试题
  • Linux基本工具(yum、vim、gcc、Makefile、git、gdb)
  • 苏宁移动端部分首页制作
  • ing Data JPA 派生方法 数据操作速查表
  • TFS-1996《The Possibilistic C-Means Algorithm: Insights and Recommendations》
  • Kafka面试精讲 Day 3:Producer生产者原理与配置
  • K8s学习笔记(一)——