java public interface_Java 接口interface的基础[通俗易懂]

java public interface_Java 接口interface的基础[通俗易懂]原标题:Java接口interface的基础定义接口的时候是由关键字interface来定义自己是一个接口,格式如下:interface接口名接口体中包含常量的声明和抽象方法两部分接口体中只有抽象方法,没有普通的方法,而且接口体中所有的常量的访问权限一定都是public,而且是static常量,所有的抽象方法的访问权限一定都是public;eg:interfaceA{publicstati…

大家好,又见面了,我是你们的朋友全栈君。

原标题:Java 接口interface的基础

定义接口的时候是由关键字interface来定义自己是一个接口,格式如下:

interface 接口名

接口体中包含常量的声明和抽象方法两部分

接口体中只有抽象方法,没有普通的方法,而且接口体中所有的常量的访问权限一定都是public,而且是static常量,所有的抽象方法的访问权限一定都是public;

eg:

interface A{

public static final int MAX=99;

public abstract void add();

public abstract float sum(int a,int b);

1

2

3

4

接口与类的区别:

接口不能用于实例化对象;

接口没有构造方法;

接口中所有的方法必须是抽象方法;

接口不能包含成员变量,除了 static 和 final 变量;

接口不是被类继承了,而是要被类实现;

接口支持多继承;

类实现接口

一个类需要在类声明中使用关键字implements声明该类实现一个或多个接口

例如:

class A implements One,Two

1

还有另外一种方式

Animal的Dog子类实现One接口

class Dog extends Animal implements One

1

重写接口的方法

如果一个非抽象类实现了某个接口,那么这个类必须要重写这个接口中的所有方法;

//定义接口IFly

public interface IFly{

//创建方法fly()

public void fly();

}

//创建类Plane并实现接口IFly

public class Plane implements IFly {

//重写fly方法

@Override

public void fly() {

// TODO Auto-generated method stub

System.out.println(“飞机在天上飞!”);

}

}

public class Test {

public static void main(String[] args) {

//对象实例化

IFly t2 = new Plane();

//分别调用fly()方法

t2.fly();

}

}

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

定义接口的时候,如果关键字interface前面加上public关键字,那么就称这个接口是一个public接口,public接口可以被任何一个类实现。如果不加public修饰,就称这个接口是一个友好接口,友好接口可以被与该接口在同一个包中的类实现;

在实现接口的时候,要注意一些规则:

一个类可以同时实现多个接口。

一个类只能继承一个类,但是能实现多个接口。

一个接口能继承另一个接口,这和类之间的继承比较相似。

例如:接口间的继承

public interface ISon extends IFather{

void run();

}

1

2

3

4

在Java中,类的多继承是不合法,但接口允许多继承。

责任编辑:

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/160435.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • JAVA中interface接口的使用[通俗易懂]

    JAVA中interface接口的使用[通俗易懂]提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、interface是什么?二、关于interface的使用1.接口的格式代码例子12.用登录方法具体实现代码例子2:抽象类和接口之间的区别总结前言随着面向对象思想的发展,类的使用越来越方便,但是有时候类却不能实现对于方法的抽象,只能对于自己的属性的抽象。(所谓抽象简单理解为没有具体的实现)于是我们便在java语言中引出了一种接口的方式(interface)。(以下内容基于JAVA语言)提示:以下是本篇文章正文内容.

    2022年10月21日
    3
  • 语义分割 实例分割 全景分割_语义分割转实例分割

    语义分割 实例分割 全景分割_语义分割转实例分割之前看过一篇使用分割思想进行目标检测,所以这里补习下一些分割相关的基础知识。这里重点说下语义分割、实力分割和全景分割的区别。1、semanticsegmentation(语义分割)通常意义上的目标分割指的就是语义分割,图像语义分割,简而言之就是对一张图片上的所有像素点进行分类语义分割(下图左)就是需要区分到图中每一点像素点,而不仅仅是矩形框框住了。但是同一物体的不同实例不需要单独分…

    2022年8月23日
    9
  • bytebuf使用_java byte类型

    bytebuf使用_java byte类型ByteBufAllocator为了减少分配和释放内存的开销,Netty通过支持池类ByteBufAllocator,可用于分配的任何ByteBuf我们已经描述过的类型的实例。是否使用池是由应用程序决定的,表5.8列出了ByteBufAllocator提供的操作。Table5.8ByteBufAllocatormethods名称描述buffer()buffer(int)buf…

    2026年1月22日
    5
  • 铁总:1月25日全国铁路预计发送旅客破千万「建议收藏」

    铁总:1月25日全国铁路预计发送旅客破千万「建议收藏」铁总:1月25日全国铁路预计发送旅客破千万

    2022年4月21日
    49
  • matlab自带的插值函数interp1的四种插值方法

    matlab自带的插值函数interp1的四种插值方法分段线性插值,临近插值,球面插值,三次多项式插值!!

    2022年6月14日
    30
  • html5–项目实战-仿360囧图

    html5–项目实战-仿360囧图

    2022年3月12日
    33

发表回复

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

关注全栈程序员社区公众号