多态的两道练习题

简介: 第一题 1 /* 2 看程序写结果:先判断编译有没有问题,如果没有问题,再写出运行结果。 3 4 对于多态中的成员方法的访问特点:编译看左边,运行看右边。 5 6 因为成员方法有重写,父类的成员方法会被子类覆盖掉。

第一题

 1 /*
 2     看程序写结果:先判断编译有没有问题,如果没有问题,再写出运行结果。
 3     
 4     对于多态中的成员方法的访问特点:编译看左边,运行看右边。
 5     
 6     因为成员方法有重写,父类的成员方法会被子类覆盖掉。因为成员方法是跟对象相关的。
 7     
 8     结果是:
 9         zi show
10 */
11 class Fu {
12     public void show() {
13         System.out.println("fu show");
14     }
15 }
16 class Zi extends Fu {
17     public void show() {
18         System.out.println("zi show");
19     }
20 
21     public void method() {
22         System.out.println("zi method");
23     }
24 }
25 class DuoTaiTest3 {
26     public static void main(String[] args) {
27         Fu f = new Zi();
28         //找不到符号
29         //f.method();
30         f.show(); //zi show
31     }
32 }

第二题

 1 /*
 2     看程序写结果:先判断编译有没有问题,如果没有问题,再写出运行结果。
 3     
 4     对于多态中的成员方法的访问特点:编译看左边,运行看右边。
 5         
 6     继承的时候:
 7         子类中有和父类中一样的方法,叫方法重写。
 8         子类中没有父类中出现过的方法,则说明父类的方法被子类继承过来了。
 9         
10     结果是:
11 12 13 */
14 class A {
15     public void show() {
16         show2();
17     }
18     public void show2() {
19         System.out.println("我");
20     }
21 }
22 class B extends A {
23     /*
24     //子类中没有父类中出现过的方法,则说明父类的方法被子类继承过来了。
25     public void show() {
26         show2();
27     }
28     */
29     //子类中有和父类中一样的方法,叫方法重写。
30     public void show2() {
31         System.out.println("爱");
32     }
33 }
34 class C extends B {
35     public void show() {
36         super.show();
37     }
38     public void show2() {
39         System.out.println("你");
40     }
41 }
42 public class DuoTaiTest4 {
43     public static void main(String[] args) {
44         A a = new B();
45         a.show();
46         
47         B b = new C();
48         b.show();
49     }
50 }
我的GitHub地址: https://github.com/heizemingjun
我的博客园地址: http://www.cnblogs.com/chenmingjun
我的蚂蚁笔记博客地址: http://blog.leanote.com/chenmingjun
Copyright ©2018 黑泽明军
【转载文章务必保留出处和署名,谢谢!】
相关文章
|
12月前
|
缓存 负载均衡 应用服务中间件
nginx的配置文件详解
本文详细解释了nginx配置文件中的关键指令和区块,如http、server、location、upstream、events等,并通过一个示例配置文件展示了如何设置HTTP服务器、gzip压缩、反向代理、URL重写、错误页面和负载均衡等,强调了配置的灵活性和实际应用。
700 4
|
8月前
|
人工智能 自然语言处理 API
ComfyUI-Copilot:阿里把AI助手塞进ComfyUI:一句话生成工作流,自动布线/调参/选模型,小白秒变大神!
ComfyUI-Copilot 是阿里推出的基于 ComfyUI 的 AI 智能助手,支持自然语言交互、智能节点推荐和自动工作流辅助,降低开发门槛并提升效率。
1967 6
ComfyUI-Copilot:阿里把AI助手塞进ComfyUI:一句话生成工作流,自动布线/调参/选模型,小白秒变大神!
|
算法 Java
JAVA并发编程系列(8)CountDownLatch核心原理
面试中的编程题目“模拟拼团”,我们通过使用CountDownLatch来实现多线程条件下的拼团逻辑。此外,深入解析了CountDownLatch的核心原理及其内部实现机制,特别是`await()`方法的具体工作流程。通过详细分析源码与内部结构,帮助读者更好地理解并发编程的关键概念。
|
10月前
|
SQL DataWorks 数据可视化
阿里云DataWorks评测:大数据开发治理平台的卓越表现
阿里云DataWorks是一款集数据集成、开发、分析与管理于一体的大数据平台,支持多种数据源无缝整合,提供可视化ETL工具和灵活的任务调度机制。其内置的安全体系和丰富的插件生态,确保了数据处理的高效性和安全性。通过实际测试,DataWorks展现了强大的计算能力和稳定性,适用于中小企业快速搭建稳定高效的BI系统。未来,DataWorks将继续优化功能,降低使用门槛,并推出更多灵活的定价方案,助力企业实现数据价值最大化。
|
IDE 测试技术 持续交付
Python自动化测试与单元测试框架:提升代码质量与效率
【9月更文挑战第3天】随着软件行业的迅速发展,代码质量和开发效率变得至关重要。本文探讨了Python在自动化及单元测试中的应用,介绍了Selenium、Appium、pytest等自动化测试框架,以及Python标准库中的unittest单元测试框架。通过详细阐述各框架的特点与使用方法,本文旨在帮助开发者掌握编写高效测试用例的技巧,提升代码质量与开发效率。同时,文章还提出了制定测试计划、持续集成与测试等实践建议,助力项目成功。
203 5
|
存储 测试技术 数据库
Python接口自动化测试框架(练习篇)-- 函数编程(一)
本文通过实际的编程练习,讲解了面向过程编程的概念和应用,包括如何定义函数、处理文件读写以及实现用户注册功能,最终将这些过程封装成函数,体现了Python作为脚本语言的面向过程编程特性。
117 2
|
机器学习/深度学习 编解码 人工智能
一篇文章搞懂CNN(卷积神经网络)及其所含概念
一篇文章搞懂CNN(卷积神经网络)及其所含概念
496 0
一篇文章搞懂CNN(卷积神经网络)及其所含概念
|
存储 测试技术 数据处理
【计算机三级数据库技术】第2章 信息系统需求分析完整知识体系--附思维导图
本文详细介绍了信息系统需求分析的知识体系,包括需求分析的概念和意义、需求获取的方法、需求分析的过程,以及需求分析方法,如DFD数据流图、IDEF0、UML等。文章通过结构化分析和功能建模方法,帮助读者理解如何标识问题、建立需求模型、描述和确认需求,并比较了DFD与IDEF0两种方法的异同,同时提供了思维导图以辅助理解。
295 12
|
Shell C++ Python
VScode 右键菜单加入使用用VSCode打开文件和文件夹【Windows】
鼠标右击文件或者文件夹,可直接用VSCode打开,非常方便。但如果我们在安装VSCode的时候没有勾选这2个选项,那就享受不到这个便捷的功能了,那么怎么办呢?此时存在2种方法进行修复:重装软件在安装的过程中勾选上这2个选项即可(肯定我们不愿意,很多配置和插件都用习惯了,再装很费事,即使是 setting sync 也免不了麻烦,尤其是配置了python或C/C++的开发环境,所以这个我们不推荐)安装勾选修改注册表右键打开文件右键打开文件夹。
2031 0
|
搜索推荐 安全 Windows
Windows10系统 无法更换锁屏图片一直转圈圈(含替换系统默认锁屏壁纸教程)异常处理
Windows10系统 无法更换锁屏图片一直转圈圈(含替换系统默认锁屏壁纸教程)异常处理
2126 0
Windows10系统 无法更换锁屏图片一直转圈圈(含替换系统默认锁屏壁纸教程)异常处理