Java基础之接口

举报
袁袁袁袁满 发表于 2022/04/14 20:02:10 2022/04/14
【摘要】 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

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。