栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java接口

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java接口

接口

接口是多个类的公共规范,接口是一种引用数据类型,最重要的内容就是其中的抽象方法。

public interface 接口名称{
	//接口内容
}
//注意
//换成了关键字interface后,编译生成的字节码文件仍然是:.java->.class

如果是java7,接口中可以包含的内容有:
1、常量
2、抽象方法
java8可以多包含:
3、默认方法: 解决接口升级的问题
4、静态方法
java9还可多包含有:
5、私有方法

接口的实现类必须覆盖重写所有的抽象方法,如果未能重写所有的抽象方法,那么一定是抽象类,因为抽象方法所在的类一定是抽象类

默认方法:

public default void interfaceDefaultMethod(int a ,int b){
    //方法体
}

静态方法:

public static void myStaticMethod(int a , double b){
    //方法体
    //注意,接口的静态方法不能由接口的实现类来调用
    //因为一个类可以实现多个接口
    //这就使得用实现类的对象去调用接口的静态方法可能存在冲突
}

用接口名称直接调用接口中的静态方法,接口名称.静态方法名

在接口中的默认方法调用私有方法

私有方法的存在为解决接口中默认方法中重复代码的问题,即只能在接口中由默认方法调用,但不能被接口的实现类对象调用,即应是私有的。java9开始接口中允许有私有方法。
1、普通私有方法,解决多个默认方法之间的重复代码问题

private 返回值类型  方法名称(参数列表){
	方法体
}

2、静态私有方法,解决多个静态方法之间重复代码的问题

private static 返回值类型  方法名称(参数列表){
	方法体
}

接口当中也可以定义“成员变量”,但是必须使用public static final三个关键字进行修饰。
从效果上看,这其实就是接口的【常量】。
格式:

public static final 数据类型 常量名称 = 数据值;
注意事项

1、接口当中的常量,可以省略public static final ,在ideal中呈灰色,不写也可,但须记住接口中直接定义int i = 10;即为常量
2、接口中的常量必须进行赋值,不能不赋值。
3、接口当中的常量名称,使用完全大写的字母,用下划线进行分隔。

public interface MyInterfaceConst{
	//其实就是常量,一旦赋值不可以修改。
	public static final int NUM_OF_MY_CLASS = 12;
	//在ideal中上面的public static final 是灰色字体。 
}
继承父类实现多个接口

1、接口是没有静态代码块或构造方法的
2、一个类的直接父类是唯一的,但是一个类可以同时实现多个接口
3、如果实现类所实现的多个接口中,存在重复的抽象方法,那么只需要覆盖重写一次即可。
4、如果实现类没有覆盖重写所有接口中所有的抽象方法,那么实现类就必须是一个抽象类。
5、如果实现类所实现的多个接口中,存在重复的默认方法,那么实现类就必须覆盖重写冲突的默认方法。
6、优先级问题,一个类如果直接父类中的成员方法与接口中的默认方法产生了冲突,优先使用父类当中的方法。

接口的继承关系
public interface MyInterface entends MyInterfaceA,MyInterfaceB{
	
}

接口的继承可以是多继承关系,而类与类之间是单继承的,直接父类只能有一个。
类与接口之间是多实现的,一个类可以实现多个接口。
多个父接口当中的抽象方法如果重复,没关系。
但是如果多个父接口当中的默认方法如果重复,那么子接口必须进行默认方法覆盖重写,而且必须带着default关键字。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/749875.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号