作为一名学生,这都是我平时在学习中遇到的一些问题,不清楚不明白的地方,总结给大家的,希望能够帮助到大家
1.接口的定义
使用interface来定义一个接口。接口定义同类的定义类似,也是分为接口的声明和接口体,其中接口体由常量定义和方法定义两部分组成。定义接口的基本格式如下:
[修饰符] interface 接口名 [extends 父接口名列表]{
[public] [static] [final] 常量;
[public] [abstract] 方法;
修饰符:可选,用于指定接口的访问权限,可选值为public,如果省略则使用默认的访问权限
接口名:必选参数,用于指定接口的名称,接口名必须是合法的Java标识符,一般情况下,要求首字母大写(按照正常的写就行啦,养成一个好习惯)
extends父类接口名列表:可选参数,用于指定要定义的接口继承与哪个父接口,当时有extends关键字时,父类接口名必须选参数
方法:接口中的方法只用定义而没有被实现
2.创建接口关键字用interface,不要用class
1
2
3//例子:创建一个InterfaceShape类,简称IShape类 public interface IShape {
3.接口中的成员属性都应该是静态被赋予初值的,一般情况还会使用final作为修饰使其变成一个常量
1
2
3// 例子:定义一个π=3.14的常量 public static final double pi =3.14;
4.接口中允许有抽象方法,抽象方法可以省去abstract关键字,不写方法区即可,就是不写方法体
1
2
3
4abstract public double getArea(); //getArea的抽象方法 public double getLength(); //getLength的抽象方法,抽象方法省略了abstract关键字 }
5.结合上面2,3点总结:接口中尽量定义常量,定义抽象方法
6.实现接口要用关键字implements
1
2public class Cylinder2 implements Face1{
7.抽象类实现接口用implements,接口继承用extends
1
2
3public class Cylinder2 implements Face1,Face2{ public interface Face3 extends Face1,Face2{
8.正常类继承用extends
1
2
3//例如:一个子类的Cat继承了父类的Animal public class Cat extends Animal{
9.接口是可以继承接口的
1
2
3//由接口Book类继承了Conclusion可以知道接口是可以继承接口的 public interface Book extends Conclusion{
10.抽象类继承
1
2
3
4
5
6
7
8//子类继承父类再实现接口,“就是子接口会继承父接口的所有抽象方法以及父接口中的常量 ”(“双引号”这句话是个人理解,如果说的有错误可以评论评论,我会及时修改的呢!!!) public class Cat extends Animal implements CatTestA,CatTestB{ @Override abstract pubilc void behavoir();//抽象方法 public abstract void behavoir();//public跟abstract互换位置也可以,还是抽象方法 public static void main(String [] args){ //main方法 //由此可知抽象类可以实现接口,抽象类可以继承具体类,抽象类中可以有静态的main方法,main方法都是静态的
11.类将实现接口中所以的抽象方法,以及获得接口中所以的常量
1
2
3
4//接口在定义后,就可以在类中实现该接口。在类中实现接口可以使用关键字implements [修饰符] class <类名> [extends 父类名] [implements 接口列表]{ (按照顺序这个应该在前面,然后还稍微有点重复,是我个人总结漏掉的)
12.在类的继承中,只能做单重继承,而实现接口时,一次则可以实现多个接口,每个接口间使用","分隔(注意是英文符号),这时就可能出现常量或方法名冲突的情况,解决该问题时,如果常量冲突,则需要明确指定常量的接口,这样就可以通过“接口名,常量”实现,如果出现方法冲突时,则只需要实现一个方法就可以了
13.类是一对一,接口是一对多
(差不多就想到这么多叭,还有的话后续会补的)
最后
以上就是落后抽屉最近收集整理的关于接口(implements)的与继承(extends)总结及比较用法的全部内容,更多相关接口(implements)内容请搜索靠谱客的其他文章。
发表评论 取消回复