Animal D = new Animal("Leo") {
@Override public void makeNoise() {
System.out.println("Roar!");
}
};
D.makeNoise();
Итак, когда я спросил, что в этом мирном синем мире это было, мне сказали, что это анонимный класс. Затем я просмотрел соответствующий материал и понял, что это классы без имени и используются только один раз. Если это так, то что такое D? Почему анонимный класс имеет имя «D» здесь?Анонимный класс на Java?
Во-вторых, делать анонимные классы обязательно должны расширить какой-либо другой класс (будь то сам Космический объект)?
В моем первоначальном коде Animal на самом деле является абстрактным классом. Что этот анонимный класс связан с Animal? Расширяет ли он абстрактный класс?
Путаница в том, что анонимные классы не обязательно использовать один раз, но они определенный один раз. Это может быть удобно, если класс должен использоваться в одном месте. –
Я закрыл это как дубликат, хотя я согласен с тем, что ответы на ваши исходные вопросы оставляют желать лучшего, поэтому я понимаю необходимость продолжения. В частности, я думаю, что эти ответы действительно должны быть улучшены, чтобы объяснить все в этой теме. – Thilo
Голосование, чтобы repoen. ** ** ** * * * * * * * * * * * Вопросы принципиально разные; даже если следовать за другим. (Я уверен, что это может быть закрыто как * a * дубликат с некоторыми копаниями, но ..) – user2864740