В предыдущем разделе мы узнали о внутренних классах, в этом разделе мы узнаем об анонимных классах. Так что же такое анонимный класс? Как следует из названия, анонимные классы — это классы, которые не могут иметь имен. На них нельзя ссылаться, и их можно объявить только с помощью оператора new при их создании.
Чтобы использовать анонимные внутренние классы, мы должны наследовать родительский класс или реализовать интерфейс.
Следует отметить следующее:
1) Конструкторы не могут быть определены в анонимных внутренних классах.
2) В анонимных внутренних классах не может быть статических переменных-членов и статических методов.
3) Анонимные внутренние классы являются локальными внутренними классами, поэтому все ограничения на локальные внутренние классы также применяются к анонимным внутренним классам.
Синтаксический формат анонимных классов следующий:
classouterClass{//Определить анонимный класс object1=newType(parameterList){//Код анонимного класса};}
Примечание. Поскольку анонимные классы определяются в форме выражений, они заканчиваются точкой с запятой ;
Например:
classDotcpp{publicvoiddisplay(){System.out.println (внутри класса Dotcpp);}}classAnonymousDemo{publicvoidcreateClass(){//Созданный анонимный класс наследует класс Dotcpp Dotcppd1=newDotcpp(){publicvoiddisplay(){System.out. println(внутри анонимного класса);}};d1.display();}}classMain{publicstaticvoidmain(String[]args){AnonymousDemoan=newAnonymousDemo();an.createClass();}}
Результаты бега следующие:
внутри анонимного класса
Например:
интерфейсDotcpp{publicvoiddisplay();}classAnonymousDemo{publicvoidcreateClass(){//Созданный анонимный класс реализует интерфейс Dotcpp Dotcppd1=newDotcpp(){publicvoiddisplay(){System.out.println (внутри анонимного класса);}};d1. display();}}classMain{publicstaticvoidmain(String[]args){AnonymousDemoan=newAnonymousDemo();an.createClass();}}
Результаты бега следующие:
внутри анонимного класса
Ладно, каждый может поэкспериментировать на компьютере и переварить и усвоить содержание этого раздела.