关于接口运用和一些新特性

public class subClassTest{
    public static void main(String[] args) {
        CompareA.methon1();//静态方法调用
        //subClass.methon1();1:接口中声明的静态方法只能用接口来调用,不能用实现类来调用
        //以下是默认方法调用,先造对象
        subClass s1 = new subClass();
        //2:接口中声明的默认方法可以被实现类继承,以此创建对象调用,在实现类中如果没有重写默认方法,那么默认调用接口中的默认方法
        s1.methon2();
        //3:如果类实现了两个接口,而两个类中存在通同名同参数的方法式会发生接口冲突,必须在实现类中重写方法主体,才能使用
        //4:子类(或者叫实现类)继承了父类并实现了接口,那么如果父类和接口中含有同名同参数的方法,那么在子类中默认调用的方法
        //是父类的方法。

        //jdk9新特性:定义私有方法
        
    }
}


interface CompareA{
    //接口属性声明为  public static final
    //jdk8之前方法均为抽象方法   abstract

    //jdk8:可声明静态方法,由接口名直接调用
    public static void methon1(){
        System.out.println("CompareA:北京");
    }
    //jdk8:中的默认方法(defalut修饰后就不是抽象方法了)
    public default void methon2(){
        System.out.println("CompareA:上海");
        //可在实现类处重写
    }
    private void methon4(){//内部用
        System.out.println("我是接口中定义的私有方法");
    }

}
class subClass implements CompareA {
    //实现methon2重写
    public void methon2(){
        System.out.println("subClass:上海");
    }


}

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值