Java lesson09Homework
1. 上转型对象的定义是什么?阐述自己对上转型对象的理解,用文字描述。
上转型:父类声明,子类实例化 叫做上转型。
(自己的理解)上转型对象可以利用父类中的全员变量和方法,当子类进行全员变量隐藏或方法重写时,则用的是子类中的。上转型对象不能用子类新增加的方法或变量。(强制转换)
u (PPT的说法)1.上转对象不能操作子类新增的成员变量,失掉了这部分属性,不能使用子类新增的方法,失掉了一些功能。
u 2.上转型对象可以操作子类继承的成员变量,也可以使用子类继承的或重写的方法。
u 3.如果子类重写了父类的某个方法后,当对象的上转型对象调用这个方法时一定是调用了子类重写的方法。因为程序在运行时知道,这个上转对象的实例是子类创建的,只不过损失了一些功能而已。
2. 多选题:
(1)下列关于父类与子类的说法错误的有( BCD)
A.在任何情况下,子类对象都可以访问父类的受保护方法。
B.上转型对象调用的是父类中的方法。
C.子类对象不能直接调用被子类重写的父类中的方法。
D.上转型对象可以调用子类新增的方法。
2. 创建一个抽象类水果Fruit,再分别创建Apple、Pear、Orange类继承抽象类水果,分别在3个子类中定义成员变量和方法,然后再创建一个测试类Test,根据用户的输入,利用上转型对象分别实例化不同的子类,表现多态的性质。
3. package Homework09_java;
4. /**
5. * 创建一个水果类做对象
6. * @author LENOVO
7. *
8. */
9. public class Fruit {
10. String color="橙色";
11. String size;
12. String name;
13.
14. public void name()
15. {System.out.println(this.name+" ");}
16. public void eating()
17. {System.out.println("直接吃 ");}
18. public void juice()
19. {System.out.println("做果汁 ");
20. }
21.
22.
23. }
24. package Homework09_java;
25. //创建一个苹果类
26. public class Apple extends Fruit {
27. String name="苹果";
28. String size="圆形";
29. String color="红色";
30.
31.
32. public void eating()
33. {System.out.println("削皮吃");}
34.
35.
36. }
37. package Homework09_java;
38. //创建一个梨类
39. public class Pear extends Fruit {
40. String name="梨";
41. String color="黄色";
42. String size="梨形";
43. public void eating()
44. {
45. System.out.println("洗洗吃");
46.
47.
48. }
49.
50.
51. }
52. package Homework09_java;
53. //创建一个橘子类
54. public class Orange extends Fruit{
55. String name="橘子";
56. String size="圆形";
57.
58. public void eating()
59. {System.out.println("剥皮吃");}
60. public void eating(Fruit a)
61. {a.eating();}
62. public void juice(Fruit a)
63. {a.juice();}
64. public void color(Fruit a)
65. {System.out.println(""+a.color);}
66. public void size(Fruit a)
67. {System.out.println(""+a.size);}
68.
69. }
70. package Homework09_java;
71. import java.util.Scanner;
72. public class Test {
73. public static void main(String[] args)
74. {Scanner scanner=new Scanner(System.in);
75. System.out.println("请输入一种水果");
76. String name1=scanner.next();
77. Test test=new Test();
78. Fruit apple=new Apple();
79. Fruit pear=new Pear();
80. Fruit orange=new Orange();
81. String fruit_01="苹果";
82. String fruit_02="梨";
83. String fruit_03="橘子";
84. if(name1.equals(fruit_01))
85. {test.color(apple);
86. {test.size(apple);
87. {test.juice(apple);
88. test.eating(apple);
89.
90. if(name1.equals(fruit_02))
91. {test.color(pear);
92. {test.size(pear);
93. {test.juice(pear);
94. test.eating(pear);
95.
96. if(name1.equals(fruit_03))
97. {test.color(orange);
98. {test.size(orange);
99. {test.juice(orange);
100. test.eating(orange);
101.
102. }
103.
104.
105.
106. }
107.
108.
109.
110.
111. }
112. }
(上程序有问题,请求救援!!)
4. 猜数字游戏。随机产生一个1—100的整数,让用户去猜,猜大了(或者猜小了)都有提示;直到用户猜对,提示成功,程序结束。
package Homework09_java;
import java.util.Scanner;
import java.util.Random;
public class GuessNumber {
public static void main(String[] args)
{Random rand=new Random();
int number=rand.nextInt(100);
Scanner scanner=new Scanner(System.in);
System.out.println("请输入一个值:");
while(true)
{int data=scanner.nextInt();
//用户输入的值
if (data>number)
{System.out.println("大了,请继续输入");
continue;}
if (data<number)
{System.out.println("小了,请继续输入");
continue;}
if (data==number)
{System.out.println("成功");
break;}
}
}
}
5. 一个正整数,如果恰好等于除它本身外的所有因子之和,这个数就称为“完数”。
例如6=1+2+3,编程找出1000以内的所有完数。
package Homework09_java;
public class Wanshu
{ void wanshu ()
{ int i,j,s=0;
for (i=1;i<=1000;i++)
{for (j=1;j<i;j++)
{if (i%j==0)
{s+=j;}
if (s==i)
System.out.println(i+"\t");
}
}
}
}
package Homework09_java;
public class Main {
public static void main(String[] args)
{Wanshu ws=new Wanshu();
ws.wanshu();
}
}
6. 输出所有水仙花数(如果一个3位正整数的各个位数立方和等于这个数本身,称为水仙花数)。
package Homework09_java01;
public class DaffodilNumber {
public void main()
{int num,i,a,b,c;
for (i=100;i<1000;i++)
{num=i;
a=num%10;
num=num/10;
b=num%10;
num=num/10;
c=num%10;
if ((a*a*a+b*b*b+c*c*c)==i)
{
System.out.println(i );
}
}
}
}
package Homework09_java01;
public class Main {
public static void main(String [] args)
{DaffodilNumber dn=new DaffodilNumber();
dn.main();
}
}
Java lesson09Homework的更多相关文章
- Spark案例分析
一.需求:计算网页访问量前三名 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /* ...
- 故障重现(内存篇2),JAVA内存不足导致频繁回收和swap引起的性能问题
背景起因: 记起以前的另一次也是关于内存的调优分享下 有个系统平时运行非常稳定运行(没经历过大并发考验),然而在一次活动后,人数并发一上来后,系统开始卡. 我按经验开始调优,在每个关键步骤的加入如 ...
- Elasticsearch之java的基本操作一
摘要 接触ElasticSearch已经有一段了.在这期间,遇到很多问题,但在最后自己的不断探索下解决了这些问题.看到网上或多或少的都有一些介绍ElasticSearch相关知识的文档,但个人觉得 ...
- 论:开发者信仰之“天下IT是一家“(Java .NET篇)
比尔盖茨公认的IT界领军人物,打造了辉煌一时的PC时代. 2008年,史蒂夫鲍尔默接替了盖茨的工作,成为微软公司的总裁. 2013年他与微软做了最后的道别. 2013年以后,我才真正看到了微软的变化. ...
- 故障重现, JAVA进程内存不够时突然挂掉模拟
背景,服务器上的一个JAVA服务进程突然挂掉,查看产生了崩溃日志,如下: # Set larger code cache with -XX:ReservedCodeCacheSize= # This ...
- 死磕内存篇 --- JAVA进程和linux内存间的大小关系
运行个JAVA 用sleep去hold住 package org.hjb.test; public class TestOnly { public static void main(String[] ...
- 【小程序分享篇 一 】开发了个JAVA小程序, 用于清除内存卡或者U盘里的垃圾文件非常有用
有一种场景, 手机内存卡空间被用光了,但又不知道哪个文件占用了太大,一个个文件夹去找又太麻烦,所以我开发了个小程序把手机所有文件(包括路径下所有层次子文件夹下的文件)进行一个排序,这样你就可以找出哪个 ...
- Java多线程基础学习(二)
9. 线程安全/共享变量——同步 当多个线程用到同一个变量时,在修改值时存在同时修改的可能性,而此时该变量只能被赋值一次.这就会导致出现“线程安全”问题,这个被多个线程共用的变量称之为“共享变量”. ...
- Java多线程基础学习(一)
1. 创建线程 1.1 通过构造函数:public Thread(Runnable target, String name){} 或:public Thread(Runnable target ...
随机推荐
- 以太坊联盟链 parity 节点搭建
https://www.cnblogs.com/sumingk/articles/9097996.html 上一篇文章介绍了以太坊私有链 geth节点的搭建,本篇介绍下企业级应用 联盟链搭建,运用pa ...
- 配置nginx支持path_info
默认情况下,nginx是不支持path_info的,我们需要做些配置让它支持. location ~ \.php(.*)$ { root /var/www/nginx/html; fastcgi_pa ...
- 阶段5 3.微服务项目【学成在线】_day02 CMS前端开发_08-vuejs研究-vuejs基础-v-if和v-for指令
1.2.4 v-if和v-for <!DOCTYPE html> <html lang="en"> <head> <meta charse ...
- Qt编写自定义控件35-GIF录屏控件
一.前言 在平时的写作过程中,经常需要将一些操作动作和效果图截图成gif格式,使得涵盖的信息更全面更生动,有时候可以将整个操作过程和运行效果录制成MP4,但是文件体积比较大,而且很多网站不便于上传,基 ...
- pcntl_fork()函数说明
pcntl_fork()函数复制了当前进程的PCB,并向父进程返回了派生子进程的pid,父子进程并行,打印语句的先后完全看系统的调度算法,打印的内容控制则靠pid变量来控制.因为我们知道pcntl_f ...
- Django:(07)数据库
一.ORM框架 ORM ,Object relational mapping 对象关系映射. 把类和数据库表对应,把对象和表记录对应,通过类和对象操作数据库表中的数据,而不需要编写SQL语句. Dja ...
- OPC 数据交互环境配置
本文源自ioufev先生的博客<OPC和DCOM配置>(https://www.cnblogs.com/ioufev/p/9365919.html)及「geekc」先生的<OPC工作 ...
- HTTPS工作原理 HTTP协议数据结构分析 HTTP和HTTPS协议的不同之处
HTTP有以下三个缺点:无加密,无身份认证,无完整性保护,因此所谓的HTTPS,它其实就是HTTP+加密+身份认证+完整性保护.HTTPS并不是一种新的协议,在通信接口使用了SSL和TLS协议而已.H ...
- 【DSP开发】德州仪器达芬奇五年之路七宗罪,嵌入式处理器架构之争决战2012
芯片是产业链上游重要的一个环节,一颗小小的芯片具有极高的技术含量和价值,半导体行业每年都会有一个各大厂商营业额的排名,除去2009年,常年盘踞在前三名位置的分别是英特尔,三星半导体和德州仪器,英特尔凭 ...
- 最新 东软java校招面经 (含整理过的面试题大全)
从6月到10月,经过4个月努力和坚持,自己有幸拿到了网易雷火.京东.去哪儿.东软等10家互联网公司的校招Offer,因为某些自身原因最终选择了东软.6.7月主要是做系统复习.项目复盘.LeetCode ...