语法:
实现类 implements 接口{
}
注意:
1.如果一个类实现了一个接口,如果这个类不想成为抽象类,那么这个类必须实现接口中所有方法
2.接口没有构造方法 也没有对象 更不能手动去new
案例:定义一个类 实现这个接口
packagecn.baizhi.day12;publicclassDemo{}//抽象类abstractclassTest{//属性int a =10;//实例变量staticint b =20;//类变量publicstaticfinalintC=40;//公开静态常量//方法//抽象方法publicabstractvoidm1();//一般的成员方法publicvoidm2(){}//静态方法publicstaticvoidm3(){}//构造方法publicTest(){super();}}//接口interface IA{//属性都是公开静态常量publicstaticfinalintA=10;//方法都是公开抽象方法publicabstractvoidm1();//没有构造方法/*public IA(){
}*/}//2 把类变为抽象类abstractclassClassAimplements IA{/* 1 实现所有的方法
public void m1() {
// TODO Auto-generated method stub
}*/}
案例:
packagecn.baizhi.day12;publicclassDemo{publicstaticvoidmain(String[] args){IA aIa =newClassA();
aIa.m1();}}//抽象类abstractclassTest{//属性int a =10;//实例变量staticint b =20;//类变量publicstaticfinalintC=40;//公开静态常量//方法//抽象方法publicabstractvoidm1();//一般的成员方法publicvoidm2(){}//静态方法publicstaticvoidm3(){}//构造方法publicTest(){super();}}//接口interface IA{int a =10;voidm1();/*//属性都是公开静态常量
public static final int A = 10;
//方法都是公开抽象方法
public abstract void m1();
//没有构造方法
public IA(){
}*/}//2 把类变为抽象类classClassAimplements IA{//1 实现所有的方法publicvoidm1(){System.out.println("实现类的m1");// TODO Auto-generated method stub}publicvoidm2(){}}
接口和类之间的关系
类和类之间
类和类之间是单继承 可以多层继承
接口和接口之间
接口和接口之间是多继承关系 一个接口可以有多个父接口
语法:
interface 子接口名 extends 父接口1,父接口2{}
注意:当一个类实现的接口有多个父接口时 必须实现所有接口中的方法
案例: 定义一个接口 IA 定义一个 IB接口 定义IC接口 继承 IA IB
packagecn.baizhi.day12;publicclassDemo{publicstaticvoidmain(String[] args){IA aIa =newClassA();IB bIb =newClassA();IC cIc =newClassA();
aIa.m1();
bIb.m2();
cIc.m1();
cIc.m2();
cIc.m3();}}//IAinterface IA{voidm1();}//IBinterface IB{voidm2();}//ICinterface IC extends IA,IB{voidm3();}//定义一个类 ClassA 实现 IC接口 classClassAimplements IC{@Overridepublicvoidm1(){// TODO Auto-generated method stubSystem.out.println("m1");}@Overridepublicvoidm2(){// TODO Auto-generated method stubSystem.out.println("m2");}@Overridepublicvoidm3(){// TODO Auto-generated method stubSystem.out.println("m3");}}
接口和类之间
接口和类之间是多实现的关系 一个类可以实现多个接口
语法:
class 类名 implements 接口1,接口2{
}
注意:当一个类实现了多个接口 这个类必须实现所有接口的方法
案例: 在上一个案例的基础上 再定义 ID接口 ClassA 实现 IC 和 ID 接口
packagecn.baizhi.day12;publicclassDemo{publicstaticvoidmain(String[] args){IA aIa =newClassA();IB bIb =newClassA();IC cIc =newClassA();ID dId =newClassA();
aIa.m1();
bIb.m2();
cIc.m1();
cIc.m2();
cIc.m3();
dId.m4();}}//IAinterface IA{voidm1();}//IBinterface IB{voidm2();}//ICinterface IC extends IA,IB{voidm3();}//ID接口interface ID{voidm4();}//定义一个类 ClassA 实现 IC接口 classClassAimplements IC,ID{@Overridepublicvoidm1(){// TODO Auto-generated method stubSystem.out.println("m1");}@Overridepublicvoidm2(){// TODO Auto-generated method stubSystem.out.println("m2");}@Overridepublicvoidm3(){// TODO Auto-generated method stubSystem.out.println("m3");}
s
@Overridepublicvoidm4(){// TODO Auto-generated method stubSystem.out.println("m4");}}