java继承接口和泛型,JavaSE习题 继承接口和泛型
问答题:
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习题 继承接口和泛型相关推荐
- java接口继承编程题_JavaSE习题 继承接口和泛型
问答题: 1.子类在什么情况下可以继承父类友好成员? 答:在同一个包内 2.子类通过怎样的方法可以隐藏继承的成员变量? 答:声明一个与父类相同变量名的成员变量 3.子类重写继承的方法原则是什么? 答: ...
- java参数传入的是一个类名_Java编程细节——泛型的定义(类、接口、对象)、使用、继承...
1. 设计泛型的初衷: 1) 主要是为了解决Java容器无法记忆元素类型的问题: i. 由于Java设计之初并不知道会往容器中存放什么类型的元素,因此元素类型都设定为Object,这样就什么东西都能放 ...
- Java泛型(1)--集合使用泛型Generic、自定义泛型、泛型在继承上的体现、通配符的使用
文章目录 泛型的概念 集合中使用泛型 自定义泛型结构 泛型在继承上的体现 通配符的使用 泛型的概念 集合容器类在设计阶段/声明阶段不能确定这个容器实际存的是什么类型的对象,所以在JDK1.5之前只能把 ...
- Java多线程(2)--Thread类继承和Runnable接口创建线程
Java语言的JVM允许程序运行多个线程,它通过java.lang.Thread类来体现. Thread类的特性 每个线程都是通过某个特定Thread对象的run()方法来完成操作的,经常把run() ...
- JavaSE——面向对象高级(继承、final关键字、抽象类与接口、多态、Object类、内部类、包装类、可变参数)
第3节 面向对象高级 一.继承 1.1 概述和使用 继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类.继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法 ...
- java请编写公共类继承抽象类_(Java相关)怎么理解抽象类,继承和接口?
著作权归作者所有. 商业转载请联系作者获得授权,非商业转载请注明出处. 作者:海子 来源:博客园 一.抽象类 在了解抽象类之前,先来了解一下抽象方法.抽象方法是一种特殊的方法:它只有声明,而没有具体的 ...
- Java 接口的定义、接口的成语、接口的实现、接口与类的多继承、JDK1.8后新增方法、使用接口的注意事项
什么是接口? 接口是更加彻底的抽象,在JDK 1.8之前接口中只能是抽象方法和常量. 接口体现的是规范思想,实现接口的子类必须重写完接口的全部抽象方法. 接口的基本定义格式: 修饰符 interfac ...
- 【JAVA系列】Java中的包、类的继承、多态、抽象类与接口
文章目录 前言 一.包及访问权限 1.什么是包? 2.如何导入包? 3.JDK中常见的包 4.包的访问控制权限 二.继承 1.继承的基本概念 2.继承时方法调用顺序 3.super和this关键字 4 ...
- Java基础学习必备(2)(继承、多态、修饰符、抽象类、接口)
文章目录 继承 继承的概述 继承的好处和弊端 继承中变量的访问特点 super关键字 继承中构造方法的访问特点 继承中成员方法的访问特点 super内存图 方法重写 方法重写注意事项 Java中继承的 ...
最新文章
- Spring基础专题——引言
- sublime linux 字体设置,Sublime Text的基本设置有哪些
- Matlab实现字符串分割
- C 读写php,C语言读取文件所有内容
- 1038. Recover the Smallest Number (30)
- 字符识别(模板匹配BP神经网络训练)
- wordpress4.9服务器迁移
- (Z) Linux与BSD之间的10个不同之处
- 一个人的旅行(HDU-2066)
- Python画图(直方图、多张子图、二维图形、三维图形以及图中图)
- lintcode:线段树的构造
- 2.Netty的粘包、拆包(一)
- CPU内部看门狗,外部看门狗以及软件看门狗
- mysql 修改字段名 sql,MySQL中使用SQL语句对字段进行重命名
- 防护ddos无从下手?了解ddos原理轻松应对危机
- 悟已往之不谏,知来者之可追;实迷途其未远,觉今是而昨非
- flutter插件开发学习之旅(4)-------检测GPS状态,打开GPS和显示经纬度实战
- Mix-In的译法探讨
- 怎样进行电路的抗干扰设计
- Python爬虫-爬取豆瓣读书
热门文章
- VS Code 摸鱼插件开发小记
- .NET Core 3.0之深入源码理解Kestrel的集成与应用(一)
- CentOS开发ASP.NET Core入门教程
- CentOS ASP.NET Core Runtime Jexus跨平台布署
- .NET Core开发日志——Runtime IDentifier
- 将系统分解为微服务的策略
- Microsoft规划了.NET的未来发展
- XunSearch的使用
- 用matlab求解工作时间调度问题,置换流水车间调度问题的MATLAB求解.doc
- php5.3教程,Php 5.3发布