Использование определений классов внутри метода в Java

Пример:

public class TestClass {

    public static void main(String[] args) {
        TestClass t = new TestClass();
    }

    private static void testMethod() {
        abstract class TestMethod {
            int a;
            int b;
            int c;

            abstract void implementMe();
        }

        class DummyClass extends TestMethod {
            void implementMe() {}
        }

        DummyClass dummy = new DummyClass();
    }
}

Я обнаружил, что приведенный выше фрагмент кода является абсолютно законным в Java. У меня есть следующие вопросы.

Какой смысл когда-либо иметь определение класса внутри метода?Будет ли создан файл класса дляDummyClassМне трудно представить эту концепцию в объектно-ориентированной манере. Наличие определения класса внутри поведения. Вероятно, кто-то может рассказать мне с помощью примеров из реального мираАбстрактные классы внутри метода звучат для меня немного безумно. Но интерфейсы не допускаются. Есть ли причина этого?

Ответы на вопрос(6)

Ваш ответ на вопрос