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


相关推荐

  • HTML5+CSS3学习总结(完结)

    一、HTML5的语义化二、CSS3动画三、CSS3阴影四、CSS3过渡(非常重要)五、弹性布局六、栅格布局七、渐变八、媒体查询

    2022年4月9日
    55
  • Vagrant 基本使用操作

    Vagrant 基本使用操作OthersVagrant基本使用操作Vagrant是什么?Vagrant安装Vagrant快速上手安装CentOSVagrant基本命令小结Vagrantfile文件Vagrant基本使用操作Vagrant是什么?Vagrant是一款支持自动化虚拟机暗转、可配置流程的用于管理虚拟机的软件.主要的优势在于可以提供一个可配置、可移植和复用的虚拟机环境(通过定义Vagr…

    2025年7月29日
    3
  • Fiddler实现手机抓包——小白入门

    Fiddler实现手机抓包——小白入门手机用fiddler抓包电脑最好是笔记本,这样能和手机保持统一局域网内;其他不多说,直接说步骤了。一.对PC(笔记本)参数进行配置  1.配置fiddler允许监听到https(fiddler默认只抓取http格式的)        打开Fiddler菜单项Tools->TelerikFiddlerOptions->HTTPS,        勾选Capt…

    2022年4月20日
    133
  • 动态规划经典题目汇总图_离散型动态规划经典题目

    动态规划经典题目汇总图_离散型动态规划经典题目http://www.cppblog.com/doer-xee/archive/2009/12/05/102629.html转载之前先Orz一下:[s:19]Robberies http://acm.hdu.edu.cn/showproblem.php?pid=2955背包;第一次做的时候把概率当做背包(放大100000倍化为整数):在此范围内最多能抢多少钱 最脑残的是把总

    2025年7月9日
    2
  • phpstrom2021 激活码【2021最新】

    (phpstrom2021 激活码)JetBrains旗下有多款编译器工具(如:IntelliJ、WebStorm、PyCharm等)在各编程领域几乎都占据了垄断地位。建立在开源IntelliJ平台之上,过去15年以来,JetBrains一直在不断发展和完善这个平台。这个平台可以针对您的开发工作流进行微调并且能够提供…

    2022年3月22日
    48
  • 小代码改进

    小代码改进

    2021年8月29日
    61

发表回复

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

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