我有下面的代码,尽管类和成员方法是公共的,但我无法在methodLMF内引用methodHF而不是methodBF。我尝试了以下方法:

LMF.this.xxxx //but the methods do not show up


请告诉我如何解决。

码:

class LMF {
    LMF() {}

    public methodLMF() { } // should return methodHF+methodBF

    //class HF
    class HF {
        HF() {}

        public methodHF(int x) {x++}
    }

    //class BF
    class BF {
        BF() {}

        public methodBF(int x) {x++}
    }
}

最佳答案

您需要创建HF和BF的对象才能访问其中的方法。

class LMF {
    LMF() {
    }

    public int methodLMF(int x) {
        return new HF().methodHF(x) + new BF().methodBF(x);
    } // should return methodHF+methodBF

    // class HF
    class HF {
        HF() {
        }

        public int methodHF(int x) {
            return x++;
        }
    }

    // class BF
    class BF {
        BF() {
        }

        public int methodBF(int x) {
            return x++;
        }
    }

    public static void main(String[] args) {
        System.out.println(new LMF().methodLMF(1));
    }
}

09-10 02:53