解析Java中接口的定义

解析Java中接口的定义使用interface来定义一个接口。接口定义同类的定义类似,也是分为接口的声明和接口体,其中接口体由常量定义和方法定义两部分组成。

大家好,欢迎来到IT知识分享网。

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

[修饰符] interface 接口名 [extends 父接口名列表]{

[public] [static] [final] 常量; //全局常量 [public] [abstract] 方法;  //抽象方法 }

  • 修饰符:可选,用于指定接口的访问权限,可选值为public。如果省略则使用默认的访问权限。
  • 接口名:必选参数,用于指定接口的名称,接口名必须是合法的Java标识符。一般情况下,要求首字母大写。
  • extends 父接口名列表:可选参数,用于指定要定义的接口继承于哪个父接口。当使用extends关键字时,父接口名为必选参数。

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

解析Java中接口的定义

public abstract void eat(); //接口中只能定义抽象方法 void eat(); //接口中定义的方法没有声明修饰符,默认为 public abstract public static final int NUM = 10; //在接口中定义一个常量 int NUM = 10; //常量 在JDK1.8后的新特性,可以被所有实现类 //接口之间可以多继承(注意:类是只能单继承) //具体类实现接口必须实现接口的所有方法 

接口的概念

1.接口是一组行为的规范、定义,没有实现(JDK1.8默认方法)

2.使用接口,可以让我们的程序更加利于变化

3.接口是面向对象编程体系中的思想精髓之一

4.面向对象设计法则:基于接口编程

接口的使用规则:

(1)定义一个接口,使用interface关键字

(2)在一个接口中,只能定义常量、抽象方法,JDK1.8后可以定义默认的实现方法

(3)接口可以继承多个接口,extends xxx,xxx

(4)一个具体类实现接口使用inplements关键字

(5)一个类可以实现多个接口

(6)抽象实现接口可以不实现接口的方法

(7)在接口中定义的方法没有声明访问修饰符,默认为public

(8)接口不能有构造方法

(9)接口不能被实例化

面向对象设计原则

(1)对修改关闭,对扩展开放

(2)面向接口编程

接口概述:

  • 狭义的角度讲就是指java中的interface
  • 广义的角度讲对外提供规则的都是接口

接口特点:

  • 接口用关键字interface表示 interface 接口名{}
  • 类实现接口用implement表示 class 类名 implement 接口名{}
  • 接口不能实例化 按照多态的方式来实例化
  • 接口的子类 可以是抽象类(意义不大),可以是具体类(要重写接口中的所有抽象方法)

一个类不写继承任何类,默认继承object类

接口的成员特点:

  • 成员变量:只能是常量,并且是静态的并公共的,默认修饰符:public static final(不写系统默认加上,没有顺序之分)
  • 构造方法:接口没有构造方法
  • 成员方法:只能是抽象方法 默认修饰符: public abstract(默认加上)

类与类,类与接口,接口与接口的关系:

  • 类与类 只能单继承,可以多层继承
  • 类与接口
  • 实现关系,可以单实现,也可以多实现,并且还可以在继承一个类的同时实现多个接口
  • 接口与接口,可以单继承,也可以多继承

抽象类和接口的区别

成员区别:

抽象类

  • 成员变量:可以变量,也可以常量
  • 构造方法:有
  • 成员方法:可以抽象,也可以非抽象

接口

  • 成员变量:只可以常量
  • 成员方法:只可以抽象

关系区别:

  • 类与类 继承,单继承
  • 类与接口 单实现,多实现、
  • 接口与接口 单继承,多继承

设计理念区别:

  • 抽象类 被继承的体现是:“is a”的关系。抽象类中定义的是该继承体系的共性功能
  • 接口 被实现体现的是:“like a”的关系。接口中定义的是该继承体系的扩展功能

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/54538.html

(0)
上一篇 2024-07-31 17:00
下一篇 2024-07-31 19:26

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信