Вызов функции из строки в объекте реагирующего состояния

Если вам нравится скрывать частных членов вашего внутреннего класса, вы можете определить интерфейс с публичными членами и создать анонимный внутренний класс, который реализует этот интерфейс. Пример ниже:

class ABC{
    private interface MyInterface{
         void printInt();
    }

    private static MyInterface mMember = new MyInterface(){
        private int x=10;

        public void printInt(){
            System.out.println(String.valueOf(x));
        }
    };

    public static void main(String... args){
        System.out.println("Hello :: "+mMember.x); ///not allowed
        mMember.printInt(); // allowed
    }
}
0
задан amlwwalker 27 February 2019 в 21:42
поделиться