相信大家看到这时,已经了解了类的继承。不太懂就点一下我吧!放心这个是安全的,只是解释了一下类的继承不太懂的码友可以点一下,希望能帮到你。(以下内容是我对接口的总结,谢谢你耐心的看完。)
大家都知道类的继承只能是单继承,一个子类只能继承一个父类。你也许会问怎么不可以多继承,那下面咱们进入主题:
多继承
在Java中想要实现多继承,可以选择接口,接口是Java中用于多继承的一种机制。下面是接口的定义格式:
interface 接口名称 // 定义抽象类
{
final 数据类型 成员名称 = 常量 ; // 数据成员必须赋初值。final可以省略。
abstract 返回值的数据类型 方法名称(参数…);
// 抽象方法,注意在抽象方法里,没有定义方法主体。abstract可以省略。
}
注意:接口里只有抽象方法,它只要声明而不用定义处理方式,于是可以联想到接口也没有办法像一般类一样,再用它来创建对象。所以利用接口打造新的类的过程,称之为接口的实现。下面是接口的实现格式:
class 类名称 implements 接口 A,接口 B // 接口的实现
{
…
}
有一个重要点需要 get 到的是接口也能继承(扩展),一个接口可以继承多个接口,这点与类的继承不同。
接口的扩展格式如下:
interface 子接口名称 extends 父接口 1,父接口 2,…
{
… …
}
最后就举个代码例子:
interface A
{
int i=10; // 必须赋初值。int前面省略了一个final。
public abstract void sayI();
*//abstract可以省略。注意接口里面的是抽象类不能定义方法主体,public abstract void sayI(){System.out.println("i="+i);}不能这样写。*
}
interface B
{
int j=20;
public abstract void sayJ();
}
interface C extends A,B //接口C继承接口A和B
{
int k=30;
public abstract void sayK();
}
//上面定义了三个接口A,B,C,接下来创建一个class来进行接口的实现。
public class D implements C
// C 继承实现 B 接口,意味着要实现 A、B、E 三个接口的抽象方法。
{
public abstract void sayI()
{
System.out.println("i="+i);
}
public abstract void sayJ()
{
System.out.println("j="+j);
}
public abstract void sayK()
{
System.out.println("k="+k);
}
}
public class Person
{
public static void main(String[] args)
{
D d = new D() ;
d.sayI() ;
d.sayJ() ;
d.sayK();
}
}
输出结果:
i=10
j=20
k=30
从此程序中读者可以发现与类的继承不同的是,一个接口可以同时继承多个接
口,也就是同时继承了多个接口的抽象方法与常量。