太奇怪了,抽象类的需要全实现,而接口却不需要,这是怎么回事?
代码如下:interface Shape1{
String toString();
}
class Circle implements Shape1{
//没有报错
}
abstract class Shape2{
public abstract String toString();
}
class Rhomboid extends Shape2{
//报错
}
toString().你确定你没开玩笑?感谢提醒不全部实现还能叫接口么。。。你自己去写得试试,编译确实可以通过,我在想是不是这样接口更灵活一些只有接口的抽象实现类不用全实现,普通接口的方法都需要实现的总结的好<divclass='ref'>
LZ好深意:要知道Circle继承了Object,Object实现了toString().
至于下面的抽象类Rhomboid是因为java是单继承,可没有直接父类实现toString().
abstractclassShape2{
publicabstractStringtoString();
}
classRTmpextendsShape2{
@Override
publicStringtoString(){
returnnull;
}
}
classRhomboidextendsRTmp{
//这里不报错
}
LZ好深意:要知道Circle继承了Object,Object实现了toString().
至于下面的抽象类Rhomboid是因为java是单继承,可没有直接父类实现toString().
abstractclassShape2{
publicabstractStringtoString();
}
classRTmpextendsShape2{
@Override
publicStringtoString(){
returnnull;
}
}
classRhomboidextendsRTmp{
//这里不报错
}
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。