多态5-7的概念问题
1、接口里的常量,能被实现类继承吗?如果能或不能,为什么?
2、接口里的默认方法,在实现类没有重写的情况下,能被实现类继承吗?如果能或不能,为什么?
3、接口里的静态方法,能被实现类继承码?如果不能或能,为什么?
4、接口里的默认方法的访问修饰符就是default吗?那么重写默认方法,它的访问修饰符成了public,这是为什么?
正在回答 回答被采纳积分+1
同学你好,
1、对于接口中的常量是被继承的,但是只能访问,不能修改常量的值。因为继承是子类继承父类的方法和属性,其中属性包括常量。
例如如下代码:
在接口中定义int类型的常量a赋值为1;
有一个Bird类实现了IFly接口
在测试类中创建Bird的对象,通过该对象调用常量
输出结果为:
说明常量被实现类继承了。
2、接口里的默认方法,在实现类没有重写的情况下,可以被实现类继承。
例如如下代码:
在IFly接口中有一个run()的默认方法
Bird类中没有重写该方法:
在测试类中创建Bird的对象,通过该对象调用默认方法run()方法。
输出结果为,接口中的默认方法的输出语句:
所以接口里的默认方法,在实现类没有重写的情况下,被实现类继承了。
3、接口里的静态方法,不能被实现类继承,静态方法只是属于这个接口本身的,静态方法只能通过类名调用,也就只属于接口本身。
例如如下代码:
在IFly接口中含有静态方法jump()
在测试类中,我们通过Brid实现类去调用这个静态方法,会报错。
所以接口里的静态方法,不能被实现类继承。
4、接口中所有方法的访问修饰符都是public,default只是一个标记,将这个方法标记为普通方法。
例如如下代码:
所以重写后也是public修饰符。
如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
- 参与学习 人
- 提交作业 3802 份
- 解答问题 11489 个
本阶段带你迈入Java世界,学习Java必备基础知识,基础语法、面向对象思想以及常用工具类的使用。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星