我是靠谱客的博主 落后抽屉,最近开发中收集的这篇文章主要介绍接口(implements)的与继承(extends)总结及比较用法,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

作为一名学生,这都是我平时在学习中遇到的一些问题,不清楚不明白的地方,总结给大家的,希望能够帮助到大家

1.接口的定义
使用interface来定义一个接口。接口定义同类的定义类似,也是分为接口的声明和接口体,其中接口体由常量定义和方法定义两部分组成。定义接口的基本格式如下:

[修饰符] interface 接口名 [extends 父接口名列表]{
[public] [static] [final] 常量;
[public] [abstract] 方法;

修饰符:可选,用于指定接口的访问权限,可选值为public,如果省略则使用默认的访问权限

接口名:必选参数,用于指定接口的名称,接口名必须是合法的Java标识符,一般情况下,要求首字母大写(按照正常的写就行啦,养成一个好习惯)

extends父类接口名列表:可选参数,用于指定要定义的接口继承与哪个父接口,当时有extends关键字时,父类接口名必须选参数

方法:接口中的方法只用定义而没有被实现

2.创建接口关键字用interface,不要用class

//例子:创建一个InterfaceShape类,简称IShape类
public interface IShape {

3.接口中的成员属性都应该是静态被赋予初值的,一般情况还会使用final作为修饰使其变成一个常量

// 例子:定义一个π=3.14的常量
public static final double pi =3.14;

4.接口中允许有抽象方法,抽象方法可以省去abstract关键字,不写方法区即可,就是不写方法体

abstract public double getArea();	//getArea的抽象方法
public double getLength();	//getLength的抽象方法,抽象方法省略了abstract关键字
}

5.结合上面2,3点总结:接口中尽量定义常量,定义抽象方法

6.实现接口要用关键字implements

public class Cylinder2 implements Face1{

7.抽象类实现接口用implements,接口继承用extends

public class Cylinder2 implements Face1,Face2{
public interface Face3 extends Face1,Face2{

8.正常类继承用extends

//例如:一个子类的Cat继承了父类的Animal
public class Cat extends Animal{

9.接口是可以继承接口的

//由接口Book类继承了Conclusion可以知道接口是可以继承接口的
public interface Book extends Conclusion{

10.抽象类继承

//子类继承父类再实现接口,“就是子接口会继承父接口的所有抽象方法以及父接口中的常量 ”(“双引号”这句话是个人理解,如果说的有错误可以评论评论,我会及时修改的呢!!!)
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.类将实现接口中所以的抽象方法,以及获得接口中所以的常量

//接口在定义后,就可以在类中实现该接口。在类中实现接口可以使用关键字implements
[修饰符] class <类名> [extends 父类名] [implements 接口列表]{
(按照顺序这个应该在前面,然后还稍微有点重复,是我个人总结漏掉的)

12.在类的继承中,只能做单重继承,而实现接口时,一次则可以实现多个接口,每个接口间使用","分隔(注意是英文符号),这时就可能出现常量或方法名冲突的情况,解决该问题时,如果常量冲突,则需要明确指定常量的接口,这样就可以通过“接口名,常量”实现,如果出现方法冲突时,则只需要实现一个方法就可以了

13.类是一对一,接口是一对多

(差不多就想到这么多叭,还有的话后续会补的)

最后

以上就是落后抽屉为你收集整理的接口(implements)的与继承(extends)总结及比较用法的全部内容,希望文章能够帮你解决接口(implements)的与继承(extends)总结及比较用法所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(36)

评论列表共有 0 条评论

立即
投稿
返回
顶部