2015-02-23 4 views
0

Я заметил, что после обновления до Java 8 SE с моей моделью моделирования Juno Eclipse мои стандартные объекты библиотеки начали указывать новую опцию методов как «Анонимный внутренний тип» при вызове Content Assist. Я пытаюсь понять, как используются эти встроенные параметры.Анонимный тип стандартных классов Java в Content Assist? Как они используются?

a sample of how this appears in the IDE is shown in the image attached

К моему предыдущему знанию, анонимный внутренний класс является способом создать стиль выражения, который в практичности используется как способ объявить & экземпляр класса в то же время. Я редко использовал этот параметр, но я понял, что большинство разработчиков используют анонимные внутренние типы классов в качестве среды для записи более простого и понятного кода. Пожалуйста, поправьте меня, если я ошибаюсь в любой из этих сведений об анонимных внутренних классах.

Однако я не уверен, как эти анонимные типы начинают появляться в моей панели Content Assist, и я не мог найти примеры того, как они используются. Поскольку моя практика с анонимными внутренними классами ограничена, я бы приветствовал любые примеры того, как используются эти параметры анонимного внутреннего типа Context Assist.

+0

Я не понимаю, о чем вы просите. Если вы хотите знать, что делает эта опция поддержки контента, выберите ее, и вы увидите. И тогда вы сможете решить, полезен ли этот параметр в этом контексте и/или если он может быть полезен в другом контексте. Если ваш вопрос «что такое анонимный класс, и когда это полезно», прочитайте учебник java об анонимных внутренних классах: http://docs.oracle.com/javase/tutorial/java/javaOO/anonymousclasses.html –

+0

- В основном я спрашиваю, как эти параметры «Анонимный внутренний тип» на стандартных Java-классах, таких как «Точка», как показано на используемом изображении. - Когда я пытаюсь поэкспериментировать с опцией, ничего особенного не произошло. - Кроме того, когда я проверил проблему с официального сайта Oracle и других учебных пособий и Google, я не смог найти ничего, связанного с использованием этого типа (например, на изображении) Анонимных внутренних типов. Тем не менее, он был там как вариант. - Таким образом, если вы знаете что-нибудь об использовании этих параметров, поделитесь информацией. Заранее спасибо. –

ответ

1

Консоль конструктора для анонимных внутренних типов более полезна для интерфейсов и абстрактных классов. Для конкретного класса, такие как Point, единственное различие в содержании содействующего

Point point = new Point(); 

для экземпляра самого класса, по сравнению с

Point point = new Point() { 
    }; 

для экземпляра анонимного внутреннего типа.

Хорошая вещь с интерфейсами и абстрактными классами является то, что анонимный внутренний класс получает генерируется метод заглушек

Comparator<String> comp = new Comparator<String>() { 
     @Override 
     public int compare(String o1, String o2) { 
      // TODO Auto-generated method stub 
      return 0; 
     }    
    };