接口的多继承跟抽象类的多实现
2017-12-01 11:58
246 查看
1. 接口可以实现接口吗?
起初一看到这个问题,我在想接口不就是用来实现的吗?然后写代码已验证,发现并不行,答案是:接口只能继承接口,并且可以多继承,接口继承接口并不需要必须继承父类接口的抽象方法,这样就可以避免类似多继承带来的问题。比如下面:public interface B extends C ,D{ final static int a = 1 ; void b(); } public interface C { void c(); } public interface D { void d(); } public abstract class E { int a; public E(){} }
如上,接口B可以同时继承接口C、D,但不需要一定要继承他们的方法。接口因为实现方法必须在实现类中具体实现,因此就不会带来多继承的问题。
2. 接口可以new出来吗,它与抽象类的在哪里?
接口跟抽象类都是不能都过new来获取实例对象的。比如B b = new B() , E e = new E()都是错误的,他们都只能都过子类来获取实例对象。接口相较于抽象类的区别在于:接口中不能有实例变量,只能有final static 类型的常量。
接口继承接口不需要必须实现它的抽象方法,抽象类实现接口也可以不具体实现接口的方法,而抽象类继承抽象类必须实现父类的抽象方法。
接口可以继承多个接口,而抽象类不能多继承。
相关文章推荐
- 接口是否可以继承接口?抽象类是否可以实现接口?抽象类是否可以继承实体类?
- java中的继承问题,类B继承A,那么构造方法需要这样写吗?这不是重复吗?还有接口与抽象类怎么实现?
- 你什么让程序员寂寞成酱紫 (男生版 娱乐中学习 抽象类 接口 继承 实现方法 )
- ArrayList既然继承自AbstractList抽象类,而AbstractList已经实现了List接口,那么ArrayList类为何还要再实现List接口呢?
- 接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类(concrete class)?
- 第二十二,接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类(concrete class)?
- Java,抽象类,接口,实现,继承
- 如果一个类实现接口,那么它要实现这个接口所有的方法吗?如果这个类继承抽象类呢?
- 接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类
- Java-子类同时继承抽象类和实现接口
- 接口、抽象类、继承、实现的定义及它们之间的关系
- 接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类(concrete class)?
- 接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类
- 接口是否可继承接口? 抽象类是否可实现(implements)接口?
- 接口和抽象类的继承和实现
- 抽象类可以实现接口,并且可以继承实体类
- delphi实现一个类继承抽象类并实现接口
- 接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类
- 【Java面试题】60 接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承具体类(concrete class)? 抽象类中是否可以有静态的main方法?
- 抽象类继承抽象类可以不重写父类的抽象方法,普通类继承抽象类必须重写父类中的抽象方法,实现接口也是同样的道理