1 public interface A { 2 void method1(); 3 } 4 interface B { 5 // public abstract 6 void method2(); 7 } 8 C implements A,B { 9 // 普通类C实现了接口A和B,必须重写接口A和B的抽象方法 10 @Override 11 public void method1() { 12 13 } 14 15 @Override 16 public void method2() { 17 18 } 19 } 20 class Fu {} 21 22 class E extends Fu implements A,B{ 23 // 普通类E继承父类Fu,实现了接口A和接口B 24 @Override 25 public void method1() { 26 } 27 @Override 28 public void method2() { 29 } 30 } 31 abstract class Fu_A { 32 public abstract void method3(); 33 } 34 class D extends Fu_A implements A,B{ 35 // 普通类D继承抽象父类Fu-A,又实现了接口A和接口B 36 // 需要复写所有父类的抽象方法 37 @Override 38 public void method1() { 39 40 } 41 42 @Override 43 public void method2() { 44 45 } 46 47 @Override 48 public void method3() { 49 50 } 51 } 52 abstract class DD extends Fu implements A,B { 53 // 普通类DD 继承抽象父类Fu 实现接口A和B,不想重写接口A和B中的方法,所以普通类D就需要变成抽象类 54 } 55 abstract class G implements A,B{ 56 // 抽象类G实现接口A和接口B,可以不需要重写抽象方法 57 }
2.实现接口:
实现接口概述:类和接口之间的关系叫做实现关系,实现接口的类叫做实现类,实现类和继承相似
实现格式:
1.实现类可以实现一个接口,也可以同时实现多个接口
public class 实现类 implements 接口1, 接口2...{}
注意:类实现接口后,必须重写接口中所有的抽象方法,否则,该类必须是一个 抽象类
2.实现类继承的同时,也可以实现接口
public class 实现类 extends 父类 implenments 接口1,接口2...{}