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

关于Java多态简单讲解

面向对象程序设计有三大特征,分别是封装继承多态
这三大特性相辅相成,可以使程序员更容易用编程语言描述现实对象。

其中多态

多态是方法的多态,是通过子类通过对父类的重写,实现不同子类对同一方法有不同的实现,从而达到灵活的编程。

重载重写的区别:
重载是同一类中,写多个相同的方法名但不同参数的方法,在调用方法时,根据传参类型、数量的不同,执行不同的函数。
重写是有继承关系的不同类中,子类对父类的相同函数重写的过程。

重载

主类:

public class Main {public static void main() {Student stu = new Student();System.out.println(stu.think();System.out.println(stu.think(12,20);System.out.println(stu.think("数风流人物,还看今朝"));}
}

学生类:

// 重载
// 在类中把think方法重载
// 对于学生类的思考,传入不同的参数类型可以运行不同的实现
public class Student() {public static void think() {// 学生开始思考System.out.println("仅仅开始思考...");}public static void think(int a,int b){// 学生计算两数相加System.out.println("两数相加等于: "a+b);}public static void think() {// 学生朗读文本System.out.println("开始朗读文本: "+str);}
}

重写

主类

public class Main {public static void Main() {// 多态的条件3(父类的引用指向子类的对象)Animal a = new Yuji();Animal b = new Gongsunli();a.speak();b.speak();}	
}

ADC类(父类)

public class Animal {// 射手说话的函数public void speak() {System.out.println("射手正在说话...");}
}

公孙离类(子类)

// 多态的条件1(父子类有继承关系)
public class Gongsunli extends Animal {// 公孙离类开始说话// 多态的条件2(子类需要重写父类的某方法)@Overridepublic void speak() {System.out.println("花绽放于长安的春日,温暖又幸福。")}
}

虞姬类(子类)

public class Yuji {// 虞姬类开始说话@Overridepublic void speak() {System.out.println("来来,妾当与大王对饮。")}
}
http://www.xdnf.cn/news/4232.html

相关文章:

  • 【表设计】外键的取舍-分布式中逐渐消失的外键
  • 【firewall-cmd】--的作用以及使用方法
  • FlinkCDC采集MySQL8.4报错
  • 第六节:图像基本操作-像素级操作
  • Windows11下ESP-IDF开发环境搭建【基于Cursor/VS Code插件】
  • 【25软考网工】第五章(7)路由协议、静态与默认路由、路由协议分类
  • 代码随想录训练营第十八天| 150.逆波兰表达式求值 239.滑动窗口最大值 347.前k个高频元素
  • 了解一下OceanBase中的表分区
  • C++:实现线程池
  • 【Spring Boot 注解】@SpringBootApplication
  • 力扣-hot100 (矩阵置零)
  • C++命名空间
  • Windows11下通过Docker安装mysql8.0
  • FPGA----基于ZYNQ 7020实现petalinux文件持久化存储
  • Linux主机时间设置操作指南及时间异常影响
  • LeetCode 解题思路 45(Hot 100)
  • 科普文:丰田凯美瑞三代混动(THS II)技术解析
  • Golang领域Beego框架的中间件开发实战
  • 【Linux】用户与组管理
  • Fastjson 从多层级的JSON数据中获取特定字段的值
  • Transformer中的三种注意力机制
  • 开源模型应用落地-qwen模型小试-Qwen3-8B-推理加速-vLLM-结构化输出(三)
  • Copilot for PPT 可直接用模板创建品牌演示文稿
  • 【Python-Day 10】Python 循环控制流:while 循环详解与 for 循环对比
  • 文件上传/读取/包含漏洞技术说明
  • MySQL中有哪几种锁?
  • 【“星瑞” O6 评测】 — 车辆速度估计
  • 【区块链】Uniswap之滑点(Slippage)
  • Java 检查某个点是否存在于圆扇区内(Check whether a point exists in circle sector or not)
  • springBoot中自定义一个validation注解,实现指定枚举值校验