JavaSE复习日记:接口

王朝学院·作者佚名  2016-08-27  
宽屏版  字体: 小 | 中 | 大 | 超大  

/** 接口

* 引用数据类型:

* 类,接口,数组;

*

* 接口是一种引用数据类型,可以看作是一个特殊的类,它存在的目的是为了解决没有多重继承引起的功能弱的问题而设计的,一个类只能有一个父类,但是这个类却可以实现多个接口;

*

* 接口还可以看作是只有抽象方法的类,即接口的所有方法都必须被实现;

* 接口声明的关键字是interface,代替了class;而普通类的继承关键字extends也变成了implements(实现);

* 但是其作用和普通类中是一样的,只不过是为了区分而已;

*

*

* 1 定义接口的语法:

* [修饰符列表] interface 接口名 { }

* 2 接口中的内容:

* 只能是常量(public static final 常量名)和抽象方法

* 3 抽象方法不需要abstract修饰,默认就是public的(不需要加)

* 4 接口可以看作是一个特殊的抽象类,就是完全抽象的,没有普通的方法

* 5 接口中是没有构造方法的,也就是接口无法被实例化

* 6 一个类可以实现多个接口,但是只能继承一个类

* 7 一个非抽象类实现接口,需要将接口中所有的方法都实现(重写/覆盖)

* 那抽象类实现接口呢?

* 抽象类实现接口,可以实现任意个:0~N个

* 8 接口之间:

* 可以继承,不仅如此,接口还可以多继承,相比来说,类只能单继承

*

* 常量和静态数据的区别:

* 都是在类加载的时候就初始化,但是静态数据可以进行多次赋值

*

* 常量:一般都必须使用public static final修饰,在接口中声明常量,这些都是可以省略的;

* 命名方式:大写字母加下划线的形式命名;

*

* 注意: 上述部分需要区分接口和接口间的"继承",类和接口间的"实现",类和类的"继承";*/publicclassjavaSE{publicstaticvoidmain(String[] args){

F f=newF();

f.m1();

f.m2();

f.m3();

f.m4();

}

}interfaceA{//接口Apublicvoidm1();

}interfaceB{//接口Bpublicvoidm2();

}interfaceC{//接口Cvoidm3();//接口中方法的public是可以省略的;}interfaceD extends A,B,C{//接口的多继承voidm4();

}classMyClass implements B,C{//普通类对接口的实现publicvoidm2(){

System.out.PRintln("覆写B接口的m2()方法");

}publicvoidm3(){

System.out.println("覆写C接口的m3()方法");

}

}abstractclassE implements D{//抽象类对接口的实现publicstaticfinalintA =10;//常量的声明方式charC ='中';publicvoidm1(){

}publicvoidm2(){

}publicvoidm3(){

}publicvoidm4(){

}

}classF extends E{//需要覆写E中所有的方法publicvoidm1(){

System.out.println("覆写m1()方法");

}publicvoidm2(){

System.out.println("覆写m2()方法");

}publicvoidm3(){

System.out.println("覆写m3()方法");

}publicvoidm4(){

System.out.println("覆写D中的m4()方法");

}

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有