为什么我可以访问函数接口中的变量

j7dteeu8  于 2021-06-26  发布在  Java
关注(0)|答案(0)|浏览(244)

我有一个关于java函数接口的问题。我对整个概念还是陌生的。所以我测试了在intellij中创建一个匿名的内部类。我创建了一个名为age的接口,并尝试使用age接口创建一个匿名的内部类(不知道该如何表达,我相信该类实现了age)。我访问了匿名内部类中的变量x,没问题。然后我试着对函数接口做同样的操作,它说变量不存在。我不明白为什么我不能访问函数接口中的变量'x',但是我可以在匿名内部类中访问它。有人能解释一下吗,谢谢!

public class AnonymousInnerClassDemo {

    public static void main(String[] args) {
        Age oj1 = new Age() {
            @Override
            public void getAge() {
                // printing  age
                System.out.print("Age is "+ x);
            }
        };
        oj1.getAge();

        Age age = () -> System.out.print("Age is 24" + x);
    }

    interface Age {
        int x = 21;
        void getAge();
    }
}

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题