JAVA子接口继承父接口的所有常量和抽象方法对吗?为什么?

Python07

JAVA子接口继承父接口的所有常量和抽象方法对吗?为什么?,第1张

对的,并且在java中接口是可以多重继承的,即一个接口同时继承多个接口,也必须满足继承所有接口中的常量和抽象方法。同时java还是接口也可以是多重实现,即实现时候可以同时实现多个接口,也要实现各个接口中的方法和常量。

扩展资料

java子接口:java中的接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。

接口的两种含义:

1、java接口,java语言中存在的结构,有特定的语法和结构。

2、一个类所具有的方法的特征集合,是一种逻辑上的抽象。前者叫做“java接口”,后者叫做“接口”。

java的语言规范:

在java语言规范中,一个方法的特征仅包括方法的名字,参数的数目和种类,而不包括方法的返回类型,参数的名字以及所抛出来的异常。在java编译器检查方法的重载时,会根据这些条件判断两个方法是否是重载方法。

但在java编译器检查方法的置换时,则会进一步检查两个方法(分处超类型和子类型)的返还类型和抛出的异常是否相同。

可以定义常量,所有定义的成员变量都会自动加上“public static final”修饰

例如

public interface test

{

    int a=10

    public static final int b=10

}

a和b的属性是相同的

也就是说,接口里的“变量”是不可变的

常量接口,不是一种推荐的使用方式。

常量接口模式是对接口的不良使用。类在内部使用某些常量,这纯粹是实现细节。实现常量接口,会导致把这样的实现细节泄露到该类的导出API中。类实现常量接口,这对于这个类的用户来讲并没有什么价值。实际上,这样做反而会使他们更加糊涂。更糟糕的是,它代表了一种承诺:如果在将来的发行版本中,这个类被修改了,它不再需要使用这些常量了,它依然必须实现这个接口,以确保二进制兼容性。如果非final类实现了常量接口,它的所有子类的命名空间也会被接口中的常量所“污染”。

在Java平台类库中有几个常量接口,例如java.io.ObjectStreamConstants。这些接口应该被认为是反面的典型,不值得效仿。