字体为灰色--可以省略    default一旦省略--java会把他认为是抽象方法

package interfacedemo2;

public interface Inter1 {
    public default void show(){
        System.out.println("inter1中的默认接口方法");
    }
}
package interfacedemo2;

public interface Inter2 {
    public abstract void method();
    public default void show(){
        System.out.println("Inter2中的默认接口方法");
    }
}
package interfacedemo2;

public class InterImpl implements Inter1,Inter2{

    @Override
    public void method() {
        System.out.println("方法");
    }

    @Override
    public void show() {
        Inter1.super.show();
    }
}
package interfacedemo2;

public class Test {
    public static void main(String[] args) {
        InterImpl ii=new InterImpl();
        ii.show();
        ii.method();
    }
}

1.新增方法--静态方法

 

静态方法不需要重写

package interfacedemo3;

public interface Inter1 {
    public abstract void  method();
    public static void show(){
        System.out.println("inter接口中的静态方法");
    }
}
package interfacedemo3;

import interfacedemo2.Inter2;

public class InterImpl implements Inter1 {
    @Override
    public void method() {
        System.out.println("接口中的抽象方法");
    }
    public void show(){
        System.out.println("实现类的方法");
    }
}
package interfacedemo3;

public class Test {
    public static void main(String[] args) {
        InterImpl ll1=new InterImpl();
        ll1.method();
        ll1.show();
        Inter1.show();
    }
}

 

2.接口的应用

3.适配器设计模式

package interfacedemo4;

public interface inter {
    public abstract void  show1();
    public abstract void  show2();
    public abstract void  show3();
    public abstract void  show4();
    public abstract void  show5();
    public abstract void  show6();
    public abstract void  show7();
}
package interfacedemo4;

public class interImpl implements inter{

    @Override
    public void show1() {

    }

    @Override
    public void show2() {

    }

    @Override
    public void show3() {

    }

    @Override
    public void show4() {

    }

    @Override
    public void show5() {

    }

    @Override
    public void show6() {

    }

    @Override
    public void show7() {

    }
}
package interfacedemo4;

public class interAdapter extends interImpl{
    @Override
    public void show5() {
        super.show5();
    }
}

 

写成abstract--不让外界创建它的对象

相当于在实现类和接口类之间添加了第三者

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部