问答题:

1.子类在什么情况下可以继承父类友好成员?

答:在同一个包内

2.子类通过怎样的方法可以隐藏继承的成员变量?

答:声明一个与父类相同变量名的成员变量

3.子类重写继承的方法原则是什么?

答:保证方法的名字,类型,参数个数,类型同父类完全相同

4.子类的构造方法第一条语句是什么?

答:super(),如果不写,编译器也会自动调用

5.子类对象一单重写了继承的方法,就会隐藏继承的方法,对吗?

答:对

6.子类重写继承方法时,可以降低方法的访问权限嘛?

答:不可以,只可以增加权限

7.简述super关键字用法

答:super关键字是一个引用超类的对象

8.假设父类有个方法

public double f(double x,double y){

return x+y;

}

是否允许子类再次声明下面方法

public float f(double x,double y){

return 23;

}

答:允许,该overwrite就隐藏了父类的方法

9.父类的final方法可以被子类重写嘛

答:不可以

10.什么类可以有抽象方法?

答:抽象类

11.什么叫对象的上转型对象?

答:子类对象引用放入父类的声明

12.什么叫接口回调?

答:子类接口引用调入父类接口声明

13.与类有关的匿名类一定是该类的一个子类吗?与接口有关的匿名类一定是实现接口的子类吗?

答:一定是,一定是

14.怎样声明一个泛型类?怎样评价SDK1.5新出的泛型?

答:使用尖括号,对未来的实际开发有了很大改善吧

15阅读下列程序,写出下列程序的结果。

程序在书本上

答:最大公约数:6

最小公倍数:36

最大公约数:方法的参数值不是正整数

16下列程序中,错误代码是哪一个?

答:在classA中,getFloat方法是友好型,所以B继承A类后,getFloat方法只能扩大权限,不能缩小为private类型

作业题

1.编写一个类,该类中有如下方法;

public int f(int a,int b){

}//要求找出ab的最大公约数

编写一个该类子类,要求子类重写方法f(),而且重写的方法将返回两个整数的最小公倍数

要求:在重写方法的方法体中首先调用被隐藏的方法返回ab的最大公约数m,然后将(a*b)/m的值返回,在应用的程序的主类中分别用父类和子类创建对象,并分别调用方法f()计算两个正整数的最大公约数和最小公倍数

public classDemo03 {public static voidmain(String[] args) {

System.out.println(new Function().f(12, 18));

System.out.println(new SonFunction().f(12, 18));

}

}classFunction{public int f(int a,intb) {if(a>b) {int temp=a;

a=b;

b=temp;

}int fin = 0;for(int i=1;i<=a;i++) {if(a%i==0&&b%i==0) {

fin=i;

}

}returnfin;

}

}classSonFunction extends Function{

@Overridepublic int f(int a, intb) {int m=super.f(a, b);return (a*b)/m;

}

}

2.编写一个抽象类,该类有3个抽象方法

public abstract void f(int x);

public abstract void g(int x,int y);

public abstract double h(double x);

然后分别给出这个抽象类的3个子类

要求,在应用程序的主类中创建子类对象,再向上转型对象调用方法f,g,h

public classDemo03 {public static voidmain(String[] args) {

A a=newC();

a.f(1);

a.g(1, 1);

a.h(1);

}

}interfaceA{public abstract void f(intx);public abstract void g(int x,inty);public abstract double h(doublex);

}classC implements A{

@Overridepublic void f(intx) {

System.out.println("This is f()");

}

@Overridepublic void g(int x, inty) {

System.out.println("This is g");

}

@Overridepublic double h(doublex) {

System.out.println("This is h");return 0;

}

}

4.举例说明匿名类的用法

直接new出来,不需要后续的调用的时候可以这样

5.编写一个异常类,并写出一个产生异常的方法,在应用程序中测试异常

public classDemo04 {public static voidmain(String[] args) {

String a="嘤嘤嘤\n";

String b="嘤嘤嘤\n";

String c="我就不嘤嘤嘤\n";try{newRetalkTest().ReTalk(b, c);newRetalkTest().ReTalk(a, b);

}catch(RetalkException e) {

e.printStackTrace();

}

}

}classRetalkException extends Exception{

String message="";publicRetalkException(){

message="复读机异常\n";

}

@OverridepublicString toString() {returnmessage;

}

}classRetalkTest{public voidReTalk(String a,String b) throws RetalkException {

System.out.println(a+b);if(a.equals(b)) {throw newRetalkException();

}else{

System.out.println("还好没有复读\n");

}

}

}

java继承接口和泛型,JavaSE习题 继承接口和泛型相关推荐

  1. java接口继承编程题_JavaSE习题 继承接口和泛型

    问答题: 1.子类在什么情况下可以继承父类友好成员? 答:在同一个包内 2.子类通过怎样的方法可以隐藏继承的成员变量? 答:声明一个与父类相同变量名的成员变量 3.子类重写继承的方法原则是什么? 答: ...

  2. java参数传入的是一个类名_Java编程细节——泛型的定义(类、接口、对象)、使用、继承...

    1. 设计泛型的初衷: 1) 主要是为了解决Java容器无法记忆元素类型的问题: i. 由于Java设计之初并不知道会往容器中存放什么类型的元素,因此元素类型都设定为Object,这样就什么东西都能放 ...

  3. Java泛型(1)--集合使用泛型Generic、自定义泛型、泛型在继承上的体现、通配符的使用

    文章目录 泛型的概念 集合中使用泛型 自定义泛型结构 泛型在继承上的体现 通配符的使用 泛型的概念 集合容器类在设计阶段/声明阶段不能确定这个容器实际存的是什么类型的对象,所以在JDK1.5之前只能把 ...

  4. Java多线程(2)--Thread类继承和Runnable接口创建线程

    Java语言的JVM允许程序运行多个线程,它通过java.lang.Thread类来体现. Thread类的特性 每个线程都是通过某个特定Thread对象的run()方法来完成操作的,经常把run() ...

  5. JavaSE——面向对象高级(继承、final关键字、抽象类与接口、多态、Object类、内部类、包装类、可变参数)

    第3节 面向对象高级 一.继承 1.1 概述和使用 继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类.继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法 ...

  6. java请编写公共类继承抽象类_(Java相关)怎么理解抽象类,继承和接口?

    著作权归作者所有. 商业转载请联系作者获得授权,非商业转载请注明出处. 作者:海子 来源:博客园 一.抽象类 在了解抽象类之前,先来了解一下抽象方法.抽象方法是一种特殊的方法:它只有声明,而没有具体的 ...

  7. Java 接口的定义、接口的成语、接口的实现、接口与类的多继承、JDK1.8后新增方法、使用接口的注意事项

    什么是接口? 接口是更加彻底的抽象,在JDK 1.8之前接口中只能是抽象方法和常量. 接口体现的是规范思想,实现接口的子类必须重写完接口的全部抽象方法. 接口的基本定义格式: 修饰符 interfac ...

  8. 【JAVA系列】Java中的包、类的继承、多态、抽象类与接口

    文章目录 前言 一.包及访问权限 1.什么是包? 2.如何导入包? 3.JDK中常见的包 4.包的访问控制权限 二.继承 1.继承的基本概念 2.继承时方法调用顺序 3.super和this关键字 4 ...

  9. Java基础学习必备(2)(继承、多态、修饰符、抽象类、接口)

    文章目录 继承 继承的概述 继承的好处和弊端 继承中变量的访问特点 super关键字 继承中构造方法的访问特点 继承中成员方法的访问特点 super内存图 方法重写 方法重写注意事项 Java中继承的 ...

最新文章

  1. Spring基础专题——引言
  2. sublime linux 字体设置,Sublime Text的基本设置有哪些
  3. Matlab实现字符串分割
  4. C 读写php,C语言读取文件所有内容
  5. 1038. Recover the Smallest Number (30)
  6. 字符识别(模板匹配BP神经网络训练)
  7. wordpress4.9服务器迁移
  8. (Z) Linux与BSD之间的10个不同之处
  9. 一个人的旅行(HDU-2066)
  10. Python画图(直方图、多张子图、二维图形、三维图形以及图中图)
  11. lintcode:线段树的构造
  12. 2.Netty的粘包、拆包(一)
  13. CPU内部看门狗,外部看门狗以及软件看门狗
  14. mysql 修改字段名 sql,MySQL中使用SQL语句对字段进行重命名
  15. 防护ddos无从下手?了解ddos原理轻松应对危机
  16. 悟已往之不谏,知来者之可追;实迷途其未远,觉今是而昨非
  17. flutter插件开发学习之旅(4)-------检测GPS状态,打开GPS和显示经纬度实战
  18. Mix-In的译法探讨
  19. 怎样进行电路的抗干扰设计
  20. Python爬虫-爬取豆瓣读书

热门文章

  1. VS Code 摸鱼插件开发小记
  2. .NET Core 3.0之深入源码理解Kestrel的集成与应用(一)
  3. CentOS开发ASP.NET Core入门教程
  4. CentOS ASP.NET Core Runtime Jexus跨平台布署
  5. .NET Core开发日志——Runtime IDentifier
  6. 将系统分解为微服务的策略
  7. Microsoft规划了.NET的未来发展
  8. XunSearch的使用
  9. 用matlab求解工作时间调度问题,置换流水车间调度问题的MATLAB求解.doc
  10. php5.3教程,Php 5.3发布