jdk1.9接口的变化


前言

    接口用来规范对象的行为,Java不支持多重继承(除了Object类外,其它的类只有一个父类)。但Java支持多接口。


一、接口特点?

1.接口中定义的域(变量)必须是常量(被隐士指定为public static final ),方法被隐士指定为public abstract(jdk1.7);

2.接口支持多继承,即一个接口可以extends多个接口,间接的解决了Java中类的单继承问题;

3.一个类可以实现多个接口;

二、接口

1.代码:


interface Inter {
    public abstract void abstractMethod();//抽象方法不能是私有的
    public default void defaultMethod() {
        System.out.println("普通方法被调用");
        privateMethod(); //可以调用接口中的私有方法
        privateStaticMethod();//可以调用接口中的私有静态方法
    }
    public static void staticMethod() {//接口静态方法
        System.out.println("静态方法被调用");
        privateStaticMethod();//public静态方法可以调用private静态方法
    }
    private void privateMethod() {
        System.out.println("private私有方法被调用");
    }
    private static void privateStaticMethod() {
        System.out.println("private私有静态方法被调用");
    }
}
public class A implements Inter{
    @Override
    public void abstractMethod(){}
    public static void main(String[] args) {
        new A().defaultMethod();//子类对象调用接口普通方法
        Inter.staticMethod();//接口静态方法只能通过接口调用(接口名.静态方法名)。
    }
}


 


总结

在jdk1.8中加入了可以定义普通方法:用关键字default关键字修饰。子类对象可以直接调用。

jdk1.9是允许接口中出现private修饰的默认方法和静态方法

    在接口中使用私有方法有四个规则:

  1. 接口中private方法不能是abstract抽象方法。因为abstract抽象方法是公开的用于给接口实现类实现的方法,所以不能是private。
  2. 接口中私有方法只能在接口内部的方法里面被调用。
  3. 接口中私有静态方法可以在其他静态和非静态接口方法中使用。
  4. 接口中私有非静态方法不能在私有静态方法内部使用。
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值