Анонимный объект: объект без имени.
Не анонимный объект:
Classname c = new classname ();
C.run ();
Анонимный объект:
new ClassName (). Run ();
Примечания:
1. Когда объект вызывает метод только один раз, его можно упростить в анонимный объект.
2. Два анонимных объекта не могут быть одним и тем же объектом.
3. Как правило, значения атрибутов не присваиваются анонимным объектам, потому что их никогда не могут быть получены.
4. После запуска он будет переработан напрямую, сохраняя пространство памяти.
Пример кода, используемый анонимными объектами:
открытый класс anony {int a = 1; int b = 2; void run () {System.out.println (a+b);} public static void main (string [] args) {new anony (). a = 10; // анонимный объект не может быть переназначен, и назначение по -прежнему терпит неудачу anony a = new anony (); a.run (); // Создать объект анонимно и вызовать метод}}Результаты работы:
3
3
Анонимный внутренний класс: анонимный внутренний класс - это внутренний класс без имени.
Формат:
Classname object = new classname () {
/*Кодовый блок*/
};
Примечания:
1. Анонимные внутренние классы должны наследовать родительский класс или реализовать интерфейс.
Аннотация пример кода класса: (так же, как интерфейс)
Аннотация класса anonytest {int a = 1; int b = 2; Public Abstract void run ();} открытый класс Anonyinner {public static void main (string [] args) {anonytest a = new anonytest () {// абстрактный анонимный класс public void run () {system.out.println (a+b);}; a.run ();}}}}}}}}}}Если вы не используете анонимные внутренние классы для реализации абстрактных методов:
Аннотация класса anonytest {int a = 1; int b = 2; public abstract void run ();} класс anonydemo расширяет anonytest {public void run () {system.out.println (a+b);}} public class anonyinner {public static void main (string [] args) {anonytest a = new anonydemo (); // выключить объект a.run ();}}Результаты работы:
3