多态的两道练习题

第一题

 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 }

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Deep learning进阶路

Python随记(三)字典

Python随记(三)字典 字典(Dictionary) 也是序列(sequence)的一种,是另一种可变容器模型。字典的值并没有特殊的顺序,但是都存储在一个...

2180
来自专栏运维技术迷

连仕彤博客[Python笔记] isinstance() 函数

isinstance() 函数来判断一个对象是否是一个已知的类型,类似 type()。但是isinstance和type是有区别的:

551
来自专栏黑泽君的专栏

Java中,类及其组成所使用的常见修饰符

Java中,类及其组成所使用的常见修饰符 (1)修饰符的分类: 权限修饰符:private、默认、protected、public 状态修饰符:stati...

882
来自专栏流媒体

指针与数组和函数的几个关系

823
来自专栏峰会SaaS大佬云集

C#学习---基础入门(一)

值类型:整数/实数/字符/布尔    结构/枚举   -------值类型直接存储值(对一个对象进行修改,不会改动其他对象值)

824
来自专栏从流域到海域

Python 迭代(iteration)

对一组数据进行遍历访问称为迭代(iteration)。 迭代是Python高级特性之一,而且Python的迭代比其他语言更为简便。但是请注意,迭代操作...

1906
来自专栏小樱的经验随笔

C/C++对bool operator < (const p &a)const的认识,运算符重载详解(杂谈)

下面来进行这段代码的分析: struct node {  //定义一个结构体node(节点) int x; int y; int len;   //nod...

3426
来自专栏C#

C#泛型方法解析

    C#2.0引入了泛型这个特性,由于泛型的引入,在一定程度上极大的增强了C#的生命力,可以完成C#1.0时需要编写复杂代码才可以完成的一些功能。但是作为开...

2079
来自专栏Deep learning进阶路

Python随记(二)字符串

Python随记(二)字符串 1、  字符串的基本操作 字符串string,也是序列(sequence)的一种,所以所有标准的序列操作:索引、分片、乘法、判断成...

1960
来自专栏mukekeheart的iOS之旅

OC学习3——C语言特性之指针

1、指针是C语言中的一个非常重要的概念,实际上,OC系统类的变量、自定义类的变量等都是指针。定义指针变量的语法格式如下,其中*代表一个指针变量,整个语法代表定义...

2628

扫码关注云+社区

领取腾讯云代金券