Пример:
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
- Мне трудно представить эту концепцию в объектно-ориентированной манере. Наличие определения класса внутри поведения. Вероятно, кто-то может сказать мне с примерами реальных реальностей.
- Абстрактные классы внутри метода звучат немного сумасшедшим для меня. Но никаких интерфейсов не разрешено. Есть ли причина в этом?