【问题标题】:Why can't I call a method I define in a field? [duplicate]为什么我不能调用我在字段中定义的方法? [复制]
【发布时间】:2015-06-15 14:36:29
【问题描述】:

考虑以下代码。

B.java

public class B {

    void foo() {
        System.out.println("foo");
    }

}

A.java

public class A {

    B b = new B() {
        void lorem() {
            System.out.println("Lorem");
        }
    };

    void bar() {
        // Why can't I call b.lorem() here?
        b.foo();
    }

}

为什么我不能在bar() 中调用b.lorem()

【问题讨论】:

    标签: java oop methods


    【解决方案1】:

    lorem 是 B 的匿名子类的方法。因此不能使用 B 类的引用来调用它,而且由于它是匿名的,所以不能将 b 转换为包含lorem

    【讨论】:

      猜你喜欢
      • 2021-02-11
      • 2016-01-27
      • 2019-12-02
      • 1970-01-01
      • 1970-01-01
      • 2019-06-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多