Когда я попытался сделать образец на abstract class
в Java, я случайно получил нечто вроде анонимного внутреннего класса в Eclipse.Что такое анонимный внутренний класс?
Я наклеил кусок кода ниже. Я не понимаю, как abstract class
связан с анонимным классом.
package com.Demo;
abstract class OuterClass {
abstract void OuterClassMethod();
}
public abstract class InnerClass extends OuterClass {
public static void main(String[] args) {
InnerClass myInnerClass = new InnerClass() {
@Override
void OuterClassMethod() {
int OuterClassVariable = 10;
System.out.println("OuterClassVariable" + " " + OuterClassVariable);
}
};
}
}
Это не связано никакими специальными средствами. Это просто «нормальный абстрактный класс». Анонимные классы реализуются с помощью «нормального» Java-класса под ним и наследования (включая абстрактные типы), и интерфейсные контракты работают одинаково. – user2246674