java8中的接口

来源:互联网 发布:快速幂算法求a的n次方 编辑:程序博客网 时间:2024/05/22 03:10

java8对接口实现了一定的升级。

1接口的定义

access interface name{    ret-type method-name (param-list);    typa var1=value;}

这里access 可以是public要么是默认的包访问方式。当声明为public是必须位于同名的文件中。
方法隐含为public。变量隐含为public ,staic,final

接口的实现,继承

在类里面用implements来对接口实现。接口的继承是extends。

默认接口方法(新)

java8开始可以在接口中加默认的实现。只需要在方法前加入default关键字

public interface MyIF{    default int fetAdminID()    {        return 1;    }}

多继承问题

由于现在接口有默认的实现。如果一个类实现的多个接口里面有重名的默认实现那么就会产生多继承问题。

“`java
interface Alpha
{
default void reset()
{
System.out.print(“alpha”);
return;
}
}

interface Beta extends Alpha
{
default void reset()
{
System.out.print(“Beta”);
return;
}
}

class MyClass implements Alpha,Beta
{

}
““

在这段代码中,MyClass中的reset方法是Alpha中的还是Beta中的呢?java有如下规则

在所有情况下,类的实现都是优先于接口的默认实现。如果MyClass中实现了reset()那么久用类里面的实现
如果类没有对冲突的默认方法提供实现那么报错
如果一个接口继承了另一个接口这样产生的冲突,那么继承接口有高优先级。在接口Beta里面可以使用一种方式访问Alpha的接口Alpha.super.reset();[interfacename.super.methodName()]

在接口中使用静态方法

接口里面的方法可以用static修饰。但是要主要的是接口里面的静态方法不能被实现类继承,也不能被子接口继承。

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 一个月婴儿呕奶严重怎么办 6岁宝宝大便干燥怎么办 3岁儿童干咳嗽怎么办 3岁宝宝一直咳嗽怎么办 3岁宝宝风寒咳嗽怎么办 刚出生的宝宝拉奶瓣怎么办 小孩拉痢疾带血怎么办 2岁宝宝有点拉稀怎么办 1岁宝宝有点拉稀怎么办 3岁宝宝有点拉稀怎么办 甲减粘液性水肿怎么办 五个月宝宝断奶不吃奶粉怎么办 八个半月的宝宝不爱吃饭怎么办 十个半月宝宝不爱吃饭怎么办 九个半月宝宝不爱吃饭怎么办 七个半月宝宝不爱吃饭怎么办 8个半月宝宝不爱吃饭怎么办 八个半月宝宝不爱吃饭怎么办 特百惠杯子摔坏后不给换怎么办 特百惠水杯摔裂了怎么办 焖烧杯摔瘪了怎么办 苦瓜和虾一起吃中毒怎么办 乐扣盖子坏了怎么办 小孩上课坐不住好动怎么办 5小孩晚上不睡觉怎么办 一年级的孩子上课好动怎么办 一岁宝宝太好动怎么办 3岁宝宝太好动怎么办 孩子学习注意力不集中怎么办 1岁宝宝皮肤黄怎么办 三岁宝宝太皮怎么办 一岁宝宝太皮了怎么办 5岁宝宝学习太皮怎么办 2岁宝宝太皮了怎么办 身上的皮肤很干怎么办 小孩子挑食厌食不吃饭怎么办 1岁宝宝特别淘气怎么办 4岁宝宝有多动症怎么办 3岁宝宝有多动症怎么办 6个月婴儿睡眠少怎么办 7个月婴儿睡眠少怎么办