我这个咋报错了 怎么改求帮助


package _12day;

public class Demo {

    public static void main(String[] args) {

        INoReturnNoParam sc =() -> System.out.println("None");
        sc.test();

        INoReturnNoParam sc1 =  a -> System.out.println( "a的值是:" + a);
        sc1.test( 3 );

        INoReturnNoParam sc2 = (b , a) -> System.out.println(a + "Two" + b);
        sc2.test(1 , 2);

        IHasReturnNoParam sc3 = ()  -> 3;
        System.out.println("return none" + IHasReturnNoParam.test());

        IHasReturnNoParam sc4 = (a)  -> a;
        System.out.println("return one" + IHasReturnNoParam.method(5));

        IHasReturnNoParam sc5 = (a,b) -> a + b;
        System.out.println("return two " + IHasReturnNoParam.test(5, 1));
    }



    //无返回值无参数的功能接口

    @FunctionalInterface
    interface INoReturnNoParam {
        void test();
    }

    //无返回值有一个参数的功能接口
    @FunctionalInterface
    interface INoReturnOneParam {
        void test(int a);
    }

    //无返回值两个参数的功能接口
    @FunctionalInterface
    interface INoReturnTwoParam {
        void test(int a, int b);
    }

![img](https://img-mid.csdnimg.cn/release/static/image/mid/ask/156407583436137.png "=600 #left")

    //有返回值无参数的功能接口
    @FunctionalInterface
    interface IHasReturnNoParam {
        int test();
    }

    //有返回值一个参数的功能接口
    @FunctionalInterface
    interface IHasReturnOneParam {
        int method(int a);
    }

    //有返回值两个参数的功能接口
    @FunctionalInterface
    interface IHasReturnTwoParam {
        int test(int a, int b);
    }
}


   public static void main(String[] args) {
        INoReturnNoParam sc =() -> System.out.println("None");
        sc.test();
        //INoReturnNoParam sc1 =  a -> System.out.println( "a的值是:" + a);
        INoReturnOneParam sc1 =  a -> System.out.println( "a的值是:" + a);
        sc1.test( 3);
        //INoReturnNoParam sc2 = (b , a) -> System.out.println(a + "Two" + b);
        INoReturnTwoParam sc2 = (b , a) -> System.out.println(a + "Two" + b);
        sc2.test(1 , 2);
        IHasReturnNoParam sc3 = ()  -> 3;
        //System.out.println("return none" + IHasReturnNoParam.test());
        System.out.println("return none" + sc3.test());
        //IHasReturnNoParam sc4 = (a)  -> a;
        IHasReturnOneParam sc4 = (a)  -> a;
        //System.out.println("return one" + IHasReturnNoParam.method(5));
        System.out.println("return one" + sc4.method(5));
        //IHasReturnNoParam sc5 = (a,b) -> a + b;
        IHasReturnTwoParam sc5 = (a,b) -> a + b;
        //System.out.println("return two " + IHasReturnNoParam.test(5, 1));
        System.out.println("return two " + sc5.test(5, 1));
    }

看了很久才看明白,建议将代码改成如下,后可以运行成功:

public class Test {
    public static void main(String[] args) {
        INoReturnNoParam sc = () -> System.out.println("None");
        sc.test();
        INoReturnOneParam sc1 = a -> System.out.println("a的值是:" + a);
        sc1.test(3);
        INoReturnTwoParam sc2 = (b, a) -> System.out.println(a + "Two" + b);
        sc2.test(1, 2);
        IHasReturnNoParam sc3 = () -> 3;
        System.out.println("return none" + sc3.test());
        IHasReturnOneParam sc4 = (a) -> a;
        System.out.println("return one" + sc4.method(5));
        IHasReturnTwoParam sc5 = (a, b) -> a + b;
        System.out.println("return two " + sc5.test(5, 1));
    }
}
//无返回值无参数的功能接口
@FunctionalInterface
interface INoReturnNoParam {
    void test();
}

//无返回值有一个参数的功能接口
@FunctionalInterface
interface INoReturnOneParam {
    void test(int a);
}

//无返回值两个参数的功能接口
@FunctionalInterface
interface INoReturnTwoParam {
    void test(int a, int b);
}

//有返回值无参数的功能接口
@FunctionalInterface
interface IHasReturnNoParam {
    int test();
}

//有返回值一个参数的功能接口
@FunctionalInterface
interface IHasReturnOneParam {
    int method(int a);
}

//有返回值两个参数的功能接口
@FunctionalInterface
interface IHasReturnTwoParam {
    int test(int a, int b);
}