Java 多态 解释+案例
1 package com.bytezreo.duotai;
2 /**
3 *
4 * @Description 面向对象的特征三 ------多态性
5 * @author Bytezero·zhenglei! Email:420498246@qq.com
6 * @version
7 * @date 2021年9月20日下午4:56:10
8 * @
9 *
10 *
11 * 1.理解多态性: 可以理解为一个事物的多态性
12 * 2.何为多态性: 父类的引用指向子类的对象(或子类的对象赋给父类的引用)
13 *
14 * 3.多态的使用:虚拟方法调用
15 * 有了对象的多态性的以后,我们在编译器期,只能调用父类中声明的方法,但是
16 * 在运行期,我们实际执行的是 子类重写父类的方法。
17 *
18 * 总结:编译,看左边,执行看右边
19 *
20 * 4.多态性的使用前提:(1)类的继承关系 (2) 要有方法的重写
21 *
22 * 5.对象的多态性,适用于方法,不适用于属性(属性:编译和运行都只看左边)
23 *
24 * 6.多态性是运行时行为;
25 *
26 * 7.动态绑定
27 */
28 public class PersonTest
29 {
30 public static void main(String[] args)
31 {
32 Person p1 = new Person();
33 p1.eat();
34
35
36 Man man = new Man();
37 man.eat();
38 man.age = 25;
39 man.makeMoney();
40
41 /***********************/
42 System.out.println("----------------------------");
43 //对象多态性:父类的引用指向子类的对象
44 Person p2 = new Man();
45
46 //多态的使用:当调用子父类同名同参的方法时,实际执行的是子类重写父类的
47 //方法---虚拟方法调用
48 p2.eat(); //子类的
49 p2.walk();
50
51
52 //p2.makeMoney();
53
54
55
56
57 // Person p3 = new Woman();
58
59 System.out.println(p2.id); //1001 父类
60
61
62 }
63 }
1 package com.bytezreo.duotai;
2
3 public class Person
4 {
5 String name;
6 int age;
7
8 int id = 1001;
9
10 public void eat()
11 {
12 System.out.println("人,吃饭");
13 }
14 public void walk()
15 {
16 System.out.println("人,走路");
17 }
18
19
20
21
22
23 }
package com.bytezreo.duotai; public class Man extends Person
{
boolean isSmoking; int id = 1002; public void makeMoney()
{
System.out.println("男人养家家");
} //重写
public void eat()
{
System.out.println("男人多吃吃饭");
}
public void walk()
{
System.out.println("男人霸气走路");
} }
1 package com.bytezreo.duotai;
2
3 public class Woman extends Person
4 {
5 boolean isBeauty;
6
7 public void goShopping()
8 {
9 System.out.println("女人喜欢购物");
10 }
11
12 //重写
13 public void eat()
14 {
15 System.out.println("女人吃饭,减肥");
16 }
17 public void walk()
18 {
19 System.out.println("女人窈窕的走路");
20 }
21
22 }


Java 多态 解释+案例的更多相关文章
- Java 多态 ——一个案例 彻底搞懂它
最近,发现基础真的hin重要.比如,Java中多态的特性,在学习中就是很难懂,比较抽象的概念.学的时候就犯糊涂,但日后会发现,基础在日常工作的理解中占有重要的角色. 下面,我将用一个代码实例,回忆和巩 ...
- JAVA之旅(八)——多态的体现,前提,好处,应用,转型,instanceof,多态中成员变量的特点,多态的案例
JAVA之旅(八)--多态的体现,前提,好处,应用,转型,instanceof,多态中成员变量的特点,多态的案例 学习是不能停止的 一.多态 我们今天又要学习一个新的概念了,就是多态,它是面向对象的第 ...
- Java多态面试题案例几解题思路
---恢复内容开始--- Java多态面试题案例几解题思路 这道题是来自别人,先开始看到题很懵,后来有自己的思路: class A { public String show(D obj){ retur ...
- 深入理解Java多态机制
从字节码层面来看,Java中的所有方法调用,最终无外乎转换为如下几条调用指令. invokestatic: 调用静态方法. invokespecial: 调用实例构造器<init>方法,私 ...
- 从JVM角度看Java多态
首先,明确一下,Java多态的三个必要条件: 1. 继承 2. 子类重写父类方法 3. 父类引用指向子类对象 然后看一个例子 package test.xing; class Father{ prot ...
- Java经验杂谈(2.对Java多态的理解)
多态是面向对象的重要特性之一,我试着用最简单的方式解释Java多态: 要正确理解多态,我们需要明确如下概念:・定义类型和实际类型・重载和重写・编译和运行 其中实际类型为new关键字后面的类型. 重载发 ...
- Java多态之动态绑定
目录 Java多态之动态绑定 引用变量的类型 编译时类型 运行时类型 方法绑定 静态绑定 动态绑定 方法表 Java多态之动态绑定 上篇回顾:多态是面向对象程序设计非常重要的特性,它让程序拥有 更好的 ...
- Java 多态——与C++的比较
学习了Java和C++之后,由于长期不使用C++,而java的基础知识掌握不牢,现在已经搞不清java多态了.现在先来谈谈java多态,稍后有时间再更新C++的多态,并进行比较~ 一. Java的多态 ...
- C++和java多态的区别
C++和java多态的区别 分类: Java2015-06-04 21:38 2人阅读 评论(0) 收藏 举报 转载自:http://www.cnblogs.com/plmnko/archive ...
- Java 多态 父类和子类方法的访问控制权限
Java 多态 父类和子类方法的访问控制权限 @author ixenos 父类和子类方法的访问控制权限 继承是为了扩展类的功能,而这种扩展显然就是对一个原始类的扩展,目的还是向上转型来调用,所以这就 ...
随机推荐
- 你不知道的Promise状态变化机制
1.Promise中PromiseStatus的三种状态 var p = new Promise((resolve, reject) => { // resolve 既是函数也是参数,它用于处理 ...
- ABP .net Core 将日志打印在控制台
上效果图 来看一下操作流程: 一.分为.net Core 2.2 和 .net Core 3.0及以上 (一)..net Core 2.2 1.在 EntityFrameworkCore中安装Nuge ...
- 深入浅出Java多线程(一):进程与线程
引言 大家好,我是你们的老伙计秀才. 在计算机系统的发展历程中,早期的计算机操作模式十分单一和低效.用户只能逐条输入指令,而计算机则按照接收指令的顺序逐一执行,一旦用户停止输入或进行思考,计算机会处于 ...
- GDB调试程序 [补档-2023-07-19]
gdb调试 它是gcc的调试工具,调试工具都能干什么就不多说了. 7-1生成调试信息 在使用gcc编译c/c++的程序时,需要在编译命令中加入 -g 这一参数,它可以为你显示函数名,变量名 等 ...
- 在package.json里面配置npx
1.配置这个npx表示打包的时候选择本地node_modules安装的webpack来打包
- 使用Fiddler复制并转发http响应数据
1.安装Fiddler 略 2.编辑FiddlerScript,增加拦截判断 Goto OnBeforeResponse,跳转到指定函数,在函数中添加拦截某些http代码,如下. if (oSessi ...
- .NET 云原生架构师训练营(模块二 基础巩固 日志)--学习笔记
2.2.2 核心模块--日志 ILogger 的使用 日志的 ID 日志的分类 日志的级别 LoggerProvider 日志的最佳实践 .NET Core 和 ASP.NET Core 中的日志记录 ...
- NC24870 [USACO 2009 Dec G]Video Game Troubles
题目链接 题目 题目描述 Farmer John's cows love their video games! FJ noticed that after playing these games th ...
- 神经网络优化篇:详解深度学习框架(Deep Learning frameworks)
深度学习框架 一小点作者内心os:24年春节已过完,从熟悉的地方又回到陌生的地方谋生,愿新的一年都得偿所愿,心想事成. 学到这会儿会发现,除非应用更复杂的模型,例如卷积神经网络,或者循环神经网络,或者 ...
- el-dialog关闭后重置表单和校验提示
问题说明 最近测试反馈操作某新增/修改表单,点击[取消]或[关闭]窗口后再次点击[新增]或[修改]发现校验提示仍然存在! 问题原因 项目采用Vue+ElementUI,修改表单的窗口控件采用el-di ...