Java 大佬们 ,来来来做题了? 看看是否能够在心里直接做出来。

查看 7|回复 0
作者:jeesk   
下面的 test() 方法中有 10 个方法, 你觉得哪些调用无法通过编译?
    @FunctionalInterface
    public interface Executor1 {
        void execute(Runable1 command);
    }
    @FunctionalInterface
    public interface Executor2 extends Executor{
        void execute(Runnable command);
    }
    @FunctionalInterface
    public interface Executor3 extends Executor2{
        void execute(Runnable command);
    }
    public void setMy(Executor e){
    }
    public void setMy1(Executor1 e){
    }
    public void setMy2(Executor2 e){
    }
    @FunctionalInterface
   public  interface Runable1 extends Runnable{
    }
    @FunctionalInterface
    public  interface Runable2 extends Runable1{
    }
    public void test(){
        setMy(Runnable::run);
        setMy(Runable1::run);
        setMy1(Runnable::run);
        setMy1(Runable1::run);
        setMy1(Runable2::run);
        setMy2(Runnable::run);
        setMy2(Runable1::run);
        setMy2(new Executor3() {
            @Override
            public void execute(Runnable command) {
            }
        });
        setMy2(new Executor() {
            @Override
            public void execute(Runnable command) {
            }
        });
        setMy2(new Executor2() {
            @Override
            public void execute(Runnable command) {
            }
        });
    }
}
您需要登录后才可以回帖 登录 | 立即注册

返回顶部