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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • react-navigation重复点击多次跳转的解决方案

    react-navigation重复点击多次跳转的解决方案废话在react-native@0.44版本之后,官方废弃了之前的导航Navigator,用react-navigation替代react-natvigation于2017年1月份开源,在3个月时间内,GitHub上star数达4000+,备受推崇,由于其性能体验堪比原生,而且使用方便,最后被FB钦点为“御用导航”但是在使用过程中还是发现了一个问题:在触发页面跳转的View上重复、快

    2022年5月7日
    79
  • SpringAOP学习–SpringAOP简介及原理

    SpringAOP学习–SpringAOP简介及原理前文对AOP做了介绍,实际项目中,一般不会直接上手手动实现aop,而是使用一些高级封装的aop实现,如SpringAOP。Spring是一个广泛应用的框架,SpringAOP则是Spring提供的一个标准易用的aop框架,依托Spring的IOC容器,提供了极强的AOP扩展增强能力,对项目开发提供了极大地便利。前文提到AOP的实现有AspectJ、JDK动态代理、CGLIB动态代理,SpringAOP不是一种新的AOP实现,其底层采用的是JDK/CGLIB动态代理。JDK动态代理回顾上一篇简单介绍了

    2022年8月11日
    2
  • 设计模式之二十四:訪问者模式(Visitor)[通俗易懂]

    设计模式之二十四:訪问者模式(Visitor)

    2022年1月29日
    46
  • join方法的使用

    join方法的使用一、join方法1.1jon方法的作用使所属的线程对象x正常执行run()方法中的任务,而使当前线程y无限期的阻塞,直到x线程销毁后再继续执行线程y后面的代码。join方法具有使线程排队运行的作用,有些类似同步的运行的效果。1.2join与synchronized的区别join在内部使用wait()方法进行等待,而synchronized关键字使用的是”对象监视器”原理作为同步。…

    2022年6月11日
    46
  • 学习JavaScript这一篇就够了[通俗易懂]

    学习JavaScript这一篇就够了[通俗易懂]目录第一章JavaScript简介1.1、JavaScript的起源1.2、JavaScript的组成1.3、JavaScript的特点1.4、JavaScript的使用1.4.1、标签引用1.4.2、文件引用1.5、JavaScript的输出1.5.1、页面输出1.5.2、控制台输出1.5.3、弹出窗口输出1.6、JavaScript的注释1.6.1、单行注释1.6.2、多行注释第二章JavaScript基础语法2.1、标识符2.2、字面量和变量2.2.1、字面量2.2.2、变量2.3、数据类型2.3

    2022年6月16日
    28
  • linux shell 进去 uefi,怎么进入EFI Shell及怎么为UEFI截图「建议收藏」

    linux shell 进去 uefi,怎么进入EFI Shell及怎么为UEFI截图「建议收藏」目前大多数主板都采用了UEFI代替了原始的BIOS,其功能与可玩性也大大的增强了。EFIShell功能相当强大。有些主板内建EFIShell,有些没有,但也可以将EFIShell放进U盘中加载EFIShell以达到同样的效果。EFIShell自带许多功能强大的应用软件。它本身就是一个小小的操作系统了。这里我提供华擎UEFI进入EFIShell的办法及对截图工具的简要说明。$v1z’…

    2022年7月24日
    30

发表回复

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

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