Java基础之接口
【摘要】 1.1 接口的概述接口就是一种 公共规范的标准,只要符合规范大家都可以用Java中的接口体现在 对行为的抽象Java中接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。通俗解释:接口可以理解成是一种特殊的类,里面的方法全是公开抽象方法,里面的变量全市公开常量。众所周知,Jav...
1.1 接口的概述
-
接口就是一种 公共规范的标准,只要符合规范大家都可以用
-
Java中的接口体现在 对行为的抽象
-
Java中接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。
-
通俗解释:接口可以理解成是一种特殊的类,里面的方法全是公开抽象方法,里面的变量全市公开常量。众所周知,Java是单继承,仅仅只有单继承的话,扩展性就会低,接口的出现就是为了解决这一问题,Java可以多实现,接口是一个标准
1.2 接口的特点
- 1、接口用关键字 interface 修饰
public interface 接口名 {}
- 2、类实现接口用 implements ([ˈɪmplɪments] )表示
public class 类名 implement 接口名 {}
- 3、接口不能实例化,参照多态的方式,通过实现类对象实例化,这叫接口多态
- 4、接口的实现类:要么重写接口中所有抽象方法,要么是抽象类
- 5、接口指明了一个类能做什么和不能做什么,是一个类的标准;
- 6、一个接口就是描述一种能力,一个功能;
- 7、如果一个类实现了一个接口中要求的所有的方法,然而没有提供方法体而仅仅只有方法标识,那么这个类一定是一个抽象类。抽象方法只能存在于抽象类或者接口中,但抽象类中却能存在非抽象方法,即有方法体的方法。接口是百分之百的抽象类。
- 8、一个JAVA库中接口的例子是:Comparator 接口,这个接口代表了“能够进行比较”这种能力,任何类只要实现了这个Comparator接口的话,这个类也具备了“比较”这种能力,那么就可以用来进行排序操作了。
1.3 接口成员的特点
- 1、成员变量:只能是常量,默认修饰符: public static final
- 2、接口中没有构造方法,因为接口中主要是对行为进行抽象的,是没有具体存在
(如果 一个类没有父类,会默认继承Object类,Object类只有无参构造方法) - 3、成员方法:只能是抽象方法,默认修饰符:public abstract
- 范例
package ceshi;
public interface Inter {
//1,默认带有public static final
public int num1 = 10;
public static final int num2 = 20;
int num3 = 30;
//2,报错,接口中没有构造方法
// public Inter(); 报错
//3,接口中必须是抽象方法
public abstract void mehtod();
// public void mehtod(){}; 报错
void show(); //默认带有public abstract
}
1.4 类和接口的关系
- 类和类的关系:继承关系只能单继承,但是可以多层继承
- 类和接口的关系:实现关系,可以单实现,也可以多实现还可以继承一个类的同时实现多个接口
public class IterImpl extends Object implements Inter1,Inter2,Inter3 {}
- 接口和接口的关系:继承关系,可以单继承,可以多继承
//单继承
public interface Inter3 extends Inter1 {}
//多继承
public interface Inter3 extends Inter1,Inter2 {}
1.5 抽象类和接口的区别
- 成员区别
抽象类:变量、常量;有构造方法;有抽象方法,也有非抽象方法
接口:常量;抽象方法 - 关系区别
类与类:继承,单继承
类与接口:实现,可以单实现,也可以多实现
接口与接口:继承,单继承,多继承 - 设计理念区别
抽象类:对类抽象,包括 属性和行为
接口:对行为抽象,主要是 行为
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)