Day09_Java_作业
A:简答题
1、什么是多态,多态的前提是什么?
2、多态中成员(成员变量,成员方法,静态成员方法)的访问特点是什么?
3、多态的好处?
4、多态的弊端是什么,如果我们想访问子类的特有的功能我们应该怎么办?
5、抽象类是什么,抽象类的特点?
6、抽象类中有没有构造方法,如果有它是用来做什么的?
7、接口中成员变量的特点,以及成员方法的特点?
8、请说出类与类,类与接口,以及接口与接口的关系以及特点?
9、抽象类和接口的区别?
10、abstract不能和那些关键字共存,为什么?
13、请说说下面关键字分别是什么,有什么用?
private
this
super
static
final
abstract
interface
extends
implements
B:看程序写结果(写出自己的分析理由),程序填空,改错,看程序写结果
1、给出以下代码,请问该程序的运行结果是什么?
interface Base {
int k = 0;
}
class Demo implements Base {
public static void main(String[] args) {
Demo d = new Demo();
System.out.println( d.k );
System.out.println( Demo.k );
System.out.println( Base.k );
}
}
输出:
0(d.k)寻找子类的数据,若没有,寻找父类接口数据
0(Demo.k)寻找子类的数据,若没有,寻找父类接口数据
0(Base.k)寻找父类接口数据
2、给出以下代码,请问该程序的运行结果是什么?
class Super {
int index = 5;
public void printVal() {
System.out.println(“Super”);
}
}
class Sub extends Super {
int index = 2;
public void printVal(){
System.out.println(“Sub”);
}
}
class Demo {
public static void main(String[] args) {
Super sup = new Sub();
System.out.print(sup.index + “,”);
sup.printVal();
}
}
3、给出以下代码,请问该程序的运行结果是什么?
class SuperEx {
String r;
String s;
public SuperEx(String a, String b) {
r = a;
s = b;
}
public void aMethod(){
System.out.println(“r:”+r);
}
}
class SubEx extends SuperEx {
public SubEx(String a, String b){
super(a, b);
}
public static void main(String[] args){
SuperEx a = new SuperEx(“Hi”, “Tom”);
SuperEx b = new SubEx(“Hi”, “Bart”);
a.aMethod();
b.aMethod();
}
public void aMethod(){
System.out.println(“r:”+r+”s:”+s);
}
}
4、给出以下代码,请问该程序的运行结果是什么?
class Demo {
public static void main (String[] args) {
Base b = new SubClass();
System.out.println(b.x);
System.out.println(b.method() );
}
}
class Base {
int x = 2;
int method(){
return x;
}
}
class SubClass extends Base {
int x = 3;
int method() {
return x;
}
}
答:输出:
2 (不太懂)
3(子类继承父类,父类没有被静态修饰,属于一般成员方法,口诀:编译看父类,运行看子类
)
5、给出以下代码,请问该程序的运行结果是什么?
class Demo extends SuperClass {
String s = “this”;
public static void main (String[] args) {
new Demo();
}
Demo(){
super.display();
}
void display(String s){
System.out.println(“this: “+ s);
}
}
class SuperClass {
String s = “super”;
void display(String s){
System.out.println(“super:” + s);
}
}
答输出:
输出:super:this
(不太懂)
父类没有被静态修饰,属于一般成员方法,口诀:编译看父类,运行看子类
C:编程题
1、编写java程序,分析如下需求,写出你分析的类有哪些,以及功能。最后写一个测试类,针对每个类的功能进行测试。
传智播客的老师有基础班的,也有就业班的。
共性:
属性:姓名,年龄
功能:讲课。
现在又要针对日语这种小语种单独开班,
需要部分基础班老师和部分就业班老师会说日语。
请用所学知识把上面的内容用代码体现。
父类
package student;
/**
* @author Aoman_Hao
*/
public abstract class Teacher {
String name;
int age;
public abstract void Teaching();
public void show(String name,int age){};
}
子类1:
package student;
/**
* @author Aoman_Hao
*/
public class Day09_Job_Teacher1 extends Teacher implements Teacher_Japanese {
@Override
public void Teaching() {
System.out.println("就业班老师");
}
@Override
public void Japanse() {
System.out.println("会日语");
}
public void show(String name,int age){
System.out.println("姓名:"+name+",年龄:"+age);
}
}
子类2:
package student;
/**
* @author Aoman_Hao
*/
public class Day09_Teach_Teacher2 extends Teacher implements Teacher_Japanese {
@Override
public void Teaching() {
System.out.println("基础班老师");
}
@Override
public void Japanse() {
System.out.println("会日语");
}
public void show(String name,int age){
System.out.println("姓名:"+name+",年龄:"+age);
}
}
接口类:
package student;
/**
* @author Aoman_Hao
*/
public interface Teacher_Japanese {
public abstract void Japanse();
}
测试类:
package student;
/**
* @author Aoman_Hao
*/
public class Teacher_Test1 {
public static void main(String[] args) {
Teacher Job_t1= new Day09_Job_Teacher1();
Job_t1.show("一一", 35);
Job_t1.Teaching();
Teacher_Japanese Job_t11 = new Day09_Job_Teacher1();
Job_t11.Japanse();
Teacher Tea_t1 = new Day09_Teach_Teacher2();
Tea_t1.show("依依", 33);
Tea_t1.Teaching();
Teacher_Japanese Tea_t11 = new Day09_Teach_Teacher2();
Tea_t11.Japanse();
}
}
输出结果:
姓名:一一,年龄:35
就业班老师
会日语
姓名:依依,年龄:33
基础班老师
会日语
Day09_Java_作业的更多相关文章
- python10作业思路及源码:类Fabric主机管理程序开发(仅供参考)
类Fabric主机管理程序开发 一,作业要求 1, 运行程序列出主机组或者主机列表(已完成) 2,选择指定主机或主机组(已完成) 3,选择主机或主机组传送文件(上传/下载)(已完成) 4,充分使用多线 ...
- SQLServer2005创建定时作业任务
SQLServer定时作业任务:即数据库自动按照定时执行的作业任务,具有周期性不需要人工干预的特点 创建步骤:(使用最高权限的账户登录--sa) 一.启动SQL Server代理(SQL Server ...
- 使用T-SQL找出执行时间过长的作业
有些时候,有些作业遇到问题执行时间过长,因此我写了一个脚本可以根据历史记录,找出执行时间过长的作业,在监控中就可以及时发现这些作业并尽早解决,代码如下: SELECT sj.name , ...
- T-SQL检查停止的复制作业代理,并启动
有时候搭建的复制在作业比较多的时候,会因为某些情况导致代理停止或出错,如果分发代理时间停止稍微过长可能导致复制延期,从而需要从新初始化复制,带来问题.因此我写了一个脚本定期检查处于停止状态的分 ...
- Python09作业思路及源码:高级FTP服务器开发(仅供参考)
高级FTP服务器开发 一,作业要求 高级FTP服务器开发 用户加密认证(完成) 多用户同时登陆(完成) 每个用户有不同家目录且只能访问自己的家目录(完成) 对用户进行磁盘配额,不同用户配额可不同(完成 ...
- 个人作业week3——代码复审
1. 软件工程师的成长 感想 看了这么多博客,收获颇丰.一方面是对大牛们的计算机之路有了一定的了解,另一方面还是态度最重要,或者说用不用功最重要.这些博客里好些都是九几年或者零几年就开始学习编 ...
- 个人作业-week2:关于微软必应词典的案例分析
第一部分 调研,评测 评测基于微软必应词典Android5.2.2客户端,手机型号为MI NOTE LTE,Android版本为6.0.1. 软件bug:关于这方面,其实有一些疑问.因为相对于市面上其 ...
- 软件工程第二次作业——git的使用
1. 参照 http://www.cnblogs.com/xinz/p/3803109.html 的第一题,每人建立一个GitHub账号,组长建立一个Project,将本组成员纳入此Porject中的 ...
- hadoop作业调度策略
一个Mapreduce作业是通过JobClient向master的JobTasker提交的(JobTasker一直在等待JobClient通过RPC协议提交作业),JobTasker接到JobClie ...
- SQL SERVER 2008复制数据库时发生执行SQL Server代理作业错误
1. 情况说明 在利用SQL SERVER数据库复制向导,能够很方便的将一个数据库从一台服务器复制到另一台服务器上,具体操作步骤也十分简单. 不过在实际操作过程常发生“执行SQL SERVER代理作业 ...
随机推荐
- 【Vue项目】商品汇前台(一)组件拆分+请求封装
写在最前面 之前学完vue基础之后,一直想做一下前端的项目,但是自己写了一点前后端分离的项目发现自己前端写的是真的乱,所以趁着假期的空闲做一下尚硅谷商品汇的前后台项目,争取这周写完前台,然后这个月再写 ...
- day01-Redis入门
Redis入门 1.初始Redis 1.1认识NoSQL SQL(关系型数据库) NoSQL(非关系型数据库) 数据结构 结构化(Structured) 非结构化 数据关联 关联的(Relationa ...
- Java学习笔记02
1. 运算符和表达式 运算符 就是对常量或者变量进行操作的符号. 如:+ - * / 表达式 用运算符把常量或者变量连接起来的,符合Java语法的式子就是表达式. 如:a + b ...
- cocos2d-x场景间参数传递
1>使用全局变量 这个就不详细说明了. 2>切换时传递 2.1>在secondScene.h 中加入成员变量,如 int sceneNum; 并在 ...
- docker-compose一键部署java开源项目
这一年干的很多事都是为了降低我的开源项目消息推送平台austin使用门槛. 如果想学Java项目的,强烈推荐我的开源项目消息推送平台Austin(8K stars) ,可以用作毕业设计,可以用作校招, ...
- 【开源游戏】Legends-Of-Heroes 基于ET 7.2的双端C#(.net7 + Unity3d)多人在线英雄联盟风格的球球大作战游戏。
Legends-Of-Heroes 一个LOL风格的球球大作战游戏,基于ET7.2,使用状态同步 Main 基于C#双端框架[ET7.2],同步到ET主干详情请看日志.(https://github ...
- 文心一言 VS chatgpt (9)-- 算法导论2.3 7题 3.1 1题
七.描述一个运行时间为O(nlgn)的算法,给定n个整数的集合S和另一个整数,该算法能确定 S中是否存在两个其和刚好为工的元素. 文心一言: 这里是一个运行时间为O(nlgn)的算法,可以用来确定集合 ...
- 2022-12-26:有一个数组包含0、1、2三种值, 有m次修改机会,第一种将所有连通的1变为0,修改次数-1, 第二种将所有连通的2变为1或0,修改次数-2, 返回m次修改机会的情况下,让最大的0
2022-12-26:有一个数组包含0.1.2三种值, 有m次修改机会,第一种将所有连通的1变为0,修改次数-1, 第二种将所有连通的2变为1或0,修改次数-2, 返回m次修改机会的情况下,让最大的0 ...
- 2022-03-11:int n, int[][] roads, int x, int y, n表示城市数量,城市编号0~n-1, roads[i][j] == distance,表示城市i到城市j距
2022-03-11:int n, int[][] roads, int x, int y, n表示城市数量,城市编号0~n-1, roads[i][j] == distance,表示城市i到城市j距 ...
- 2021-05-03:给定一个非负整数num, 如何不用循环语句, 返回>=num,并且离num最近的,2的某次方 。
2021-05-03:给定一个非负整数num, 如何不用循环语句, 返回>=num,并且离num最近的,2的某次方 . 福大大 答案2021-05-03: 32位整数,N=32. 1.非负整数用 ...