接口是否可继承接口(java)

接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类(concrete class)?

Java语法中,接口可以继承接口,抽象类可以实现接口,抽象类可以继承实体类。

Java语法中,使用interface定义一个接口,使用class定义一个类,使用关键字abstract + class定义一个抽象类。以下分别对这3个知识点进行解析:

1、接口可以继承接口

接口可以多继承接口,例如:Interface1 Extends Interface2, Interface3, Interface4……

代码示例为:

public interface Interface1 {

public void method1();

}

public interface Interface2 extends Interface1 {

public void method2();

}

public interface Interface3 extends Interface1, Interface2 {

public void method3();

}

2、抽象类可以实现接口

抽象类实现接口时,可以完全重写或覆盖接口中的方法,也可只重写接口中的部分方法。

代码示例为:

public interface InterfaceA {

public void method1();

public void method2();

public void method3();

}

abstract class ClassA implements InterfaceA {

public void method1(){}

public void method2(){}

}

3、抽象类可以继承实体类

抽象类可以继承实体类,但前提是实体类必须有明确的构造函数。

代码示例为:

class EntityA {    

public EntityA() {

// 构造函数

}

public void helloWorld() {

System.out.println("hello");

}

}

abstract class ClassA extends EntityA {}

扩展资料:

1、Java继承或实现接口时需要遵循的原则:

(1)类优先于接口。 如果一个子类继承的父类和接口有相同的方法实现。 那么子类继承父类的方法。

(2)子类型中的方法优先于父类型中的方法。

(3)如果以上条件都不满足, 则必须显示覆盖/实现其方法,或者声明成abstract。

2、Java实现多继承的方式:

(1)Java中一个类不能继承多个具体class。 

(2)一个类只可继承自一个具体 class,但可实现多个接口。 interface不涉及到实现细节,不与任何存储空间有关连。新类可继承自一个具象class,其余继承都得是interfaces。 

(3)outer class不可继承自多个具体class,可在其内部设多个inner class,每个inner class都能各自继承某一实现类。inner class不受限于outer class是否已经继承自某一实现类。 

(4)inner class可以说是多重继承问题的完整解决方案。一个类不能继承自多个一般类。但我们可以让其内部的多个inner class各自继承某一实现类达到类似的目的。

参考资料来源:Java官方文档-接口(interface)

温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-07-29
1.接口可以继承接口..但是要使用extends~而不是用implements
如:interface a{}
interface b extends a{}

2.抽象类可以实现接口..
比如java.util中的AbstractCollection类就是实现的Collection接口

3.抽象类可以继承实体类

下面这段执行无误的代码说明的所有的问题:
interface MyInterface {

}

interface AnotherInterface extends MyInterface {

}

class EntityClass {

}

abstract class AbstractClass extends EntityClass implements MyInterface {

}本回答被提问者采纳
第2个回答  2009-07-29
接口是否可继承接口?可以
抽象类是否可实现(implements)接口?可以
抽象类是否可继承实体类(concrete class)? 可以
第3个回答  2009-07-29
接口可继承接口

抽象类可实现(implements)接口

抽象类可继承实体类(要有明确的构造方法)
第4个回答  2009-07-29
3个问题的答案都是肯定的
相似回答