问答题:

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 class Demo03 {
public static void main(String[] args) {
System.out.println(new Function().f(, ));
System.out.println(new SonFunction().f(, ));
}
}
class Function{
public int f(int a,int b) {
if(a>b) {
int temp=a;
a=b;
b=temp;
}
int fin = ;
for(int i=;i<=a;i++) {
if(a%i==&&b%i==) {
fin=i;
}
}
return fin;
}
}
class SonFunction extends Function{ @Override
public int f(int a, int b) {
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 class Demo03 {
public static void main(String[] args) {
A a=new C();
a.f();
a.g(, );
a.h();
}
} interface A{
public abstract void f(int x);
public abstract void g(int x,int y);
public abstract double h(double x);
}
class C implements A{ @Override
public void f(int x) {
System.out.println("This is f()");
} @Override
public void g(int x, int y) {
System.out.println("This is g");
} @Override
public double h(double x) {
System.out.println("This is h");
return ;
} }

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

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

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

public class Demo04 {
public static void main(String[] args) {
String a="嘤嘤嘤\n";
String b="嘤嘤嘤\n";
String c="我就不嘤嘤嘤\n";
try {
new RetalkTest().ReTalk(b, c);
new RetalkTest().ReTalk(a, b);
} catch (RetalkException e) {
e.printStackTrace();
} }
}
class RetalkException extends Exception{
String message="";
public RetalkException(){
message="复读机异常\n";
}
@Override
public String toString() {
return message;
} }
class RetalkTest{
public void ReTalk(String a,String b) throws RetalkException {
System.out.println(a+b);
if(a.equals(b)) {
throw new RetalkException();
}
else {
System.out.println("还好没有复读\n");
}
}
}

JavaSE习题 继承接口和泛型的更多相关文章

  1. 接口是否可继承接口? 抽像类是否可实现(implements)接口? 抽像类是否可继承实体类(concrete class)?

    接口是否可继承接口? 抽像类是否可实现(implements)接口? 抽像类是否可继承实体类(concrete class)? 1. 接口可以继承接口. 2. 抽像类可以实现(implements)接 ...

  2. python的类的继承-接口继承-归一化设计

    1.先在子类本身找,如果子类没有,会去父类找 class Dad: '这个是爸爸类' money=10#Dad类的数据属性 def __init__(self,name): print("爸 ...

  3. 【Java面试题】60 接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承具体类(concrete class)? 抽象类中是否可以有静态的main方法?

    接口可以继承接口.抽象类可以实现(implements)接口,抽象类可以继承具体类.抽象类中可以有静态的main方法. 问:  抽象类是否可继承实体类 (concrete class) 答: 抽象类是 ...

  4. java 接口 继承 接口 抽象类 继承 实体类

    韩梦飞沙  韩亚飞  313134555@qq.com  yue31313  han_meng_fei_sha 接口 可以 继承 接口 抽象类 可以 实现 接口 抽象类 继承实体类 需要 实体类 有 ...

  5. 编写高质量代码改善C#程序的157个建议——建议46:显式释放资源需继承接口IDisposable

    建议46:显式释放资源需继承接口IDisposable C#中的每一个类型都代表一种资源,资源分为两类: 托管资源:由CLR管理分配和释放的资源,即从CLR里new出来的对象. 非托管资源:不受CLR ...

  6. 接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类(concrete class)?

    接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类(concrete class)? 答:接口可以继承接口.抽象类可以实现(implements)接口,抽象类 ...

  7. 接口的定义——默认加public abstract默认全局常量;与继承不同,子类可以同时实现多个接口;抽象类实现接口;接口继承接口

    一. 接口的定义 接口中定义的方法,全部都为抽象方法,默认加public abstract 接口中定义的变量,全部为全局常量,默认加public static final 二.与继承不同,子类可以同时 ...

  8. 2019-7-29-C#-在基类定义好方法让子类继承接口就能实现

    title author date CreateTime categories C# 在基类定义好方法让子类继承接口就能实现 lindexi 2019-07-29 09:57:49 +0800 201 ...

  9. C# 在基类定义好方法让子类继承接口就能实现

    在 C# 里面,接口的定义只需要类里面存在和接口声明相同的方法或属性就可以,而存在的方法或属性是在子类定义的还是基类里面定义的都无所谓.也就是在基类里面写好了方法,但不继承接口,等子类继承接口的时候就 ...

随机推荐

  1. Eloquent JavaScript #08# Bugs and Errors

    索引 Notes strict mode js类型 js测试 Debugging Exceptions finally 异常分支 Exercise Retry The locked box Notes ...

  2. Prometheus监控学习笔记之在 HTTP API 中使用 PromQL

    0x00 概述 Prometheus 当前稳定的 HTTP API 可以通过 /api/v1 访问. 0x01 API 响应格式 Prometheus API 使用了 JSON 格式的响应内容. 当 ...

  3. Docker学习笔记之常见 Dockerfile 使用技巧

    0x00 概述 在掌握 Dockerfile 的基本使用方法后,我们再来了解一些在开发中使用 Dockerfile 的技巧.这一小节的展现方式与之前的略有不同,其主要来自阅读收集和我自身在使用中的最佳 ...

  4. HTTP小幺鸡接口管理工具安装与配置说明

    http://www.xiaoyaoji.cn/doc/TxybXPTdx 小幺鸡接口管理工具安装说明 使用可以参考:https://blog.csdn.net/qincidong/article/d ...

  5. ORA-00600: internal error code, arguments: [13030], [20]一例解决

    两年没有接触oracle了,中午,一环境update from的时候出现ORA-00600: internal error code, arguments: [13030], [20]异常,经查,官网 ...

  6. Codeforces 40E Number Table - 组合数学

    题目传送门 传送门I 传送门II 题目大意 给定一个$n\times m$的网格,每个格子上要么填$1$,要么填$-1$,有$k$个位置上的数是已经填好的,其他位置都是空的.问有多少种填法使得任意一行 ...

  7. 定制FileField中的上传文件名称

    FileField中的upload_to属性可以设定上传文件的存储目录和名称,它可以是个字符串,也可以是个callable,比如一个方法. 当upload_to的值设为一个方法时,就可以对上传文件的名 ...

  8. clnt_create: RPC: Program not registered

    原因:[root@nfs nfs]# systemctl start nfs-utils 解决方法:[root@nfs nfs]# systemctl start nfs

  9. Django创建超级用户出现错误

    如果运行python manage.py createsuperuser出现一大堆错误代码 解决方案: 1.检查settings.py中的DATABASE配置确定正确性 2.执行python mana ...

  10. tp剩余未验证内容-5

    经过实践, ie678是不能正确显示解析bs的,所以要用ff和chrome浏览器. page-header类是有特殊样式的 在标题下有一条浅色的细线条,源代码中有: border-bottom: 1p ...