子类既要实现接口又要继承抽象类,可以这么做:
class D extends C implements A,B{}
我的问题是,实现接口和继承抽象类的顺序是否可以颠倒,如下所示
class D implements A,B extends C{},这样也是正确的吗? 作者: 崔利鹏 时间: 2012-11-15 08:49
一个接口可以继承另外一个借口,抽象类是实现接口,这样不行吧。抽象类不能实例化.Java中不会有在各种情况吧作者: 化小东 时间: 2012-11-15 09:09
不可以
class D extends C implements A,B{}//A,B属于C的体系
1、 class D extends C implements A,B{} //这个是正确的写法;
2、 class D implements A,B extends C{} //我想这个应该是不允许的吧,虚拟机会报异常的吧;因为毕老师在讲这课的时候,也没有说这种方法是可以的,如果是可以的,毕老师是会告诉我们这种写法的。作者: 奋斗的青春 时间: 2012-11-15 12:21 这个问题不必深究,这是java开发团队开发过程中,制定的一个语法规则。 因为考虑到java只能单继承、多实现的原则,所以先继承,后实现,实现可以实现多个接口写在后边比较直观。
实现接口就是将他接口的所有约定实现出来,继承就是父债子还,实现所有抽象方法或是自己重写父类方法,同时继承和实现即同时进行上述两部,至于public class Xxxx extends A implements B先写extends 还是implements这个没什么原理可言,只要知道编译器要我们这样写才能放我们通过即可。作者: 张综 时间: 2012-11-15 23:01
这样子说吧。一般有继承有实现的时候都是先继承在实现的。这个是一种规范。