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_作业的更多相关文章

  1. python10作业思路及源码:类Fabric主机管理程序开发(仅供参考)

    类Fabric主机管理程序开发 一,作业要求 1, 运行程序列出主机组或者主机列表(已完成) 2,选择指定主机或主机组(已完成) 3,选择主机或主机组传送文件(上传/下载)(已完成) 4,充分使用多线 ...

  2. SQLServer2005创建定时作业任务

    SQLServer定时作业任务:即数据库自动按照定时执行的作业任务,具有周期性不需要人工干预的特点 创建步骤:(使用最高权限的账户登录--sa) 一.启动SQL Server代理(SQL Server ...

  3. 使用T-SQL找出执行时间过长的作业

        有些时候,有些作业遇到问题执行时间过长,因此我写了一个脚本可以根据历史记录,找出执行时间过长的作业,在监控中就可以及时发现这些作业并尽早解决,代码如下:   SELECT sj.name , ...

  4. T-SQL检查停止的复制作业代理,并启动

        有时候搭建的复制在作业比较多的时候,会因为某些情况导致代理停止或出错,如果分发代理时间停止稍微过长可能导致复制延期,从而需要从新初始化复制,带来问题.因此我写了一个脚本定期检查处于停止状态的分 ...

  5. Python09作业思路及源码:高级FTP服务器开发(仅供参考)

    高级FTP服务器开发 一,作业要求 高级FTP服务器开发 用户加密认证(完成) 多用户同时登陆(完成) 每个用户有不同家目录且只能访问自己的家目录(完成) 对用户进行磁盘配额,不同用户配额可不同(完成 ...

  6. 个人作业week3——代码复审

    1.     软件工程师的成长 感想 看了这么多博客,收获颇丰.一方面是对大牛们的计算机之路有了一定的了解,另一方面还是态度最重要,或者说用不用功最重要.这些博客里好些都是九几年或者零几年就开始学习编 ...

  7. 个人作业-week2:关于微软必应词典的案例分析

    第一部分 调研,评测 评测基于微软必应词典Android5.2.2客户端,手机型号为MI NOTE LTE,Android版本为6.0.1. 软件bug:关于这方面,其实有一些疑问.因为相对于市面上其 ...

  8. 软件工程第二次作业——git的使用

    1. 参照 http://www.cnblogs.com/xinz/p/3803109.html 的第一题,每人建立一个GitHub账号,组长建立一个Project,将本组成员纳入此Porject中的 ...

  9. hadoop作业调度策略

    一个Mapreduce作业是通过JobClient向master的JobTasker提交的(JobTasker一直在等待JobClient通过RPC协议提交作业),JobTasker接到JobClie ...

  10. SQL SERVER 2008复制数据库时发生执行SQL Server代理作业错误

    1. 情况说明 在利用SQL SERVER数据库复制向导,能够很方便的将一个数据库从一台服务器复制到另一台服务器上,具体操作步骤也十分简单. 不过在实际操作过程常发生“执行SQL SERVER代理作业 ...

随机推荐

  1. 指针和引用(pointer and reference),传值和传址

    pass by adress pass by reference和pass by pointer的共同点都在于传址,都是对于对象的地址的复制,而不会对对象进行产生副本的操作. pass by refe ...

  2. vue3组合式API介绍

    为什么要使用Composition API? 根据官方的说法,vue3.0的变化包括性能上的改进.更小的 bundle 体积.对 TypeScript 更好的支持.用于处理大规模用例的全新 API,全 ...

  3. Lattics:一款简单易用、好看强大的「类脑式」知识管理工具,笔记应用与写作软件二合一

    如何选择一款适合自己的知识管理工具? 随着数字化时代的到来,越来越多的人意识到知识管理的重要性.笔记软件和写作软件作为一种常用的知识管理工具,一直以来备受关注.从最早的印象笔记.有道云.为知笔记.幕布 ...

  4. 2023-02-15:商场中有一展柜A,其大小固定,现已被不同的商品摆满, 商家提供了一些新商品B,需要对A中的部分商品进行更新替换, B中的商品可以自由使用,也就是可以用B中的任何商品替换A中的任何

    2023-02-15:商场中有一展柜A,其大小固定,现已被不同的商品摆满, 商家提供了一些新商品B,需要对A中的部分商品进行更新替换, B中的商品可以自由使用,也就是可以用B中的任何商品替换A中的任何 ...

  5. 2020-10-15:mysql的双1设置是什么?

    福哥答案2020-10-15:#福大大架构师每日一题# [答案来自知乎:](https://www.zhihu.com/question/425704691) 其实就是innodb_flush_log ...

  6. golang基础面试题,不完整

    启动流程 Q.go的init函数是什么时候执行的? Q.多个init函数执行顺序能保证吗? Q.go init 的执行顺序,注意是不按导入规则的(这里是编译时按文件名的顺序执行的) Q.init函数能 ...

  7. 8张图带你全面了解kafka的核心机制

    前言 kafka是目前企业中很常用的消息队列产品,可以用于削峰.解耦.异步通信.特别是在大数据领域中应用尤为广泛,主要得益于它的高吞吐量.低延迟,在我们公司的解决方案中也有用到.既然kafka在企业中 ...

  8. 2023-05-24:为什么要使用Redis做缓存?

    2023-05-24:为什么要使用Redis做缓存? 答案2023-05-24: 缓存的好处 买啤酒和喝啤酒的例子可以帮助我们理解缓存的好处. 假设你在超市里买了一箱啤酒,如果你需要每次想喝啤酒就去超 ...

  9. Vuex modules 中active相互调用

    大中型项目中使用vuex进行状态管理时,经常会按模块分割到不同的module中去,而操作中难免有模块中的active相互调用的情况,然而有时也会出现一些问题,这里顺便记录下 store目录结构 在us ...

  10. MYSQL数据库的创建和删除

    打开Windows命令行,输入登录用户和密码 mysql -h localhost -u root -p 创建新数据 CREATE DATABASE zoo; 查看系统中的数据库 SHOW DATAB ...