Java多态&接口&抽象类&内部类练习

1.请分析如下程序是否会报错(编译版本JDK1.8)并说明原因?并给出正确的代码!

 

:jdk1.8接口中允许定义`含有方法体的非抽象方法`,但是需要关键字`default`修饰 题目中method没有default修饰

代码:

public interface Inter{
    public abstract void show();
    public default void method(){
        System.out.println("非抽象的method方法");
    }
} 

2.请分析如下程序是否会报错并说明原因?并给出正确的代码!

 答:会报错
    父接口和子类之间是实现关系,通过`implements`实现

代码:

public interface Inter{}
class InterIpl implements Inter{}

3.请分析如下程序是否会报错并说明原因?并给出正确的代码!

答: 会报错
因为:接口和接口之间是继承
    接口和类是实现

代码:

interface Inter1{}
interface Inter2{}
public interface Inter extend Inter1,Inter2{}

4.请分析如下程序那几行代码会报错并说明原因?

答: 第10行

有默认修饰符 public static final number是个常量,不能被再次赋值

5.请分析如下程序是否会报错并说明原因

 答:InerImol不是一个抽象类,需要重写FU类Animal里的方法,题中没有重写所以报错

6.请分析如下程序是否会报错并说明原因?

 答:会报错
    因为父类Animal里没有定义eat方法,编译不通过所以报错

7.请分析如下程序在控制台的输出结果是什么并说明原因?

 答:6
Dog吃东西
多态中成员方法特点
成员变量:编译看左边,运行看左边
成员方法:编译看左边,运行看右边

8.请分析如下程序在控制台的输出结果是什么并说明原因?以及如何避免该问题?

 答: 找不到或无法加载主类

Animal本质的类型为Dog,不能将Dog转换成Cat,Dog和Cat之间不存在子父类的继承关系


怎么避免该问题:在进行类型转换的时候,可以通过instanceof关键字进行类型的判断

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值