как найти Java-классы? - PullRequest
12 голосов
/ 10 июня 2009

Я новичок в программировании, мне было интересно, есть ли способ найти Java-классы, которые мне нужны для конкретной вещи, кроме как спрашивать их у людей на форумах? Я видел API на веб-сайте Sun, но нет хорошего варианта поиска, чтобы найти класс, который будет работать для меня.

Ответы [ 8 ]

20 голосов
/ 10 июня 2009

Если вы новичок в Java (или в программировании), важно научиться читать и понимать документацию, чтобы стать самостоятельным - это первый шаг к тому, чтобы стать менее зависимым от других людей, и в большинстве случаев улучшит вашу скорость обучения и программирования.

Ниже приведены некоторые советы и предложения:

Познакомьтесь с Спецификацией API Java .

Сначала формат Javadoc Спецификации API кажется немного слабым без какой-либо возможности поиска, но я обнаружил, что возможность просматривать документацию с помощью браузера очень мощная.

Поскольку Javadoc - это просто HTML-файлы, их можно легко просматривать и просматривать в браузере, а также легко создавать закладки для страниц. Кроме того, Спецификация API доступна для загрузки , поэтому нет необходимости постоянно заходить в Интернет для получения информации.

Поскольку документация - это просто веб-страницы, с помощью функции поиска браузера можно быстро найти информацию на странице, а в случае сбоя с помощью Google или вашей любимой поисковой системы поиск документации очень быстрый и простой.

Google (или ваша любимая поисковая система) - ваш друг.

Нужна информация о классе StringBuilder? Попробуйте следующий запрос:

stringbuilder java 6

Первым результатом будет страница спецификации API Java для класса StringBuilder. Совет состоит в том, чтобы добавить строку "java 6" в конце запроса, и это, по-видимому, в большинстве случаев приводит к тому, что Спецификация API находится на вершине.

Познакомьтесь со структурой спецификации API.

Структура представления инструмента Javadoc очень приятная и логичная:

+-----------+-------------------+
|           |                   |
|  Packages |                   |
|           |                   |
+-----------+      Details      |
|           |                   |
|  Classes  |                   |
|           |                   |
+-----------+-------------------+

Javadoc разделен на три кадра.

  • Верхний левый фрейм: список всех пакетов API платформы Java.
  • Нижний левый фрейм: список всех классов в выбранном пакете.
  • Правая рамка: сведения о выбранном в данный момент пакете или классе.

Как правило, поиск класса начинается с выбора пакета в верхнем левом фрейме, затем поиска класса в нижнем левом фрейме и, наконец, просмотра деталей в правом фрейме. Идея такова:

Package -> Class -> Details

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

  • Имя класса
  • Иерархия наследования
  • Реализованные интерфейсы
  • Связанные классы
  • Информация о и описание класса; примеры использования.
  • Сводка по полю
  • Сводка конструктора
  • Краткое изложение метода
  • Поле / Конструктор / Детали метода.

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

Кроме того, все о классе задокументировано на одной странице - может показаться, что это слишком много информации для одной страницы, но это позволяет легко получить всю необходимую информацию о классе из одного места. В других форматах документации может потребоваться переключаться между несколькими страницами, чтобы получить информацию о нескольких методах в одном классе. С форматом Javadoc все это на одной странице.

Изучение API платформы Java

Следующим шагом является изучение важных пакетов API Java Platform. Это поможет быстро найти классы из огромной коллекции классов в API платформы.

Не волнуйтесь, делайте это медленно - вам не нужно учить все сразу!

Некоторые интересные пакеты:

  • java.lang - Содержит классы, такие как String, System, Integer и другие, которые автоматически импортируются в каждую Java-программу.

  • java.util - Содержит коллекции Java (такие как List, Set, Map и их реализации), Date, Random и другие утилиты классы. Вероятно, это первый пакет для поиска классов, которые будут полезны при выполнении обычных операций.

  • java.io - Классы, касающиеся ввода и вывода, такие как File, Reader с и Writer с и различные Stream с.

  • java.awt и javax.swing - для графических пользовательских интерфейсов Java использует Abstract Window Toolkit или Swing, и эти два пакета используются для работы с GUI на Яве.

Знание, где находятся классы, и понимание того, где искать в огромном количестве документации, облегчит поиск информации. Вероятно, потребуется некоторое время, чтобы привыкнуть к нему, но как только вы освоите его, это будет намного проще, и вы сможете найти информацию самостоятельно.

Удачи!

2 голосов
/ 10 июня 2009

В большинстве случаев, если это ядро ​​языка (это не сторонняя библиотека), я использую следующую ссылку:

http://java.sun.com/javase/6/docs/api/allclasses-frame.html

Какой список всех классов в Java SE.

Чтобы узнать, может ли класс работать или нет, я пытаюсь нажать Ctrl-F и угадать, какой класс будет подходящим.

Со временем, когда вы привыкнете к классам, поиск станет проще.

Например, допустим, вы хотите использовать массив:

Ctrl + F Выход массива:

Array 
Array 
ArrayBlockingQueue 
ArrayDeque 
ArrayIndexOutOfBoundsException 
ArrayList 
Arrays 
ArrayStoreException 
ArrayType 
ArrayType 

Я нажимаю на каждую и вижу документацию. Некоторые из них не имеют смысла, некоторые из них именно то, что мне нужно.

Иногда это может не работать очень прямо. Позволяет создать окно:

Ctrl + F не показывает JFrame, который является правильным ответом, но это просто вопрос настройки вашего чувства :)

Надеюсь, это поможет.

2 голосов
/ 10 июня 2009

Это зависит от того, что вы имеете в виду. Например. если вы хотите узнать местоположение такого класса, как «Где снова был BufferedReader?», я выполняю поиск в Google по адресу:

site:java.sun.com BufferedReader

Если вы хотите знать, как выполнить задачу, например, "Как я могу читать пароли с терминала, не отражая?" (java.io.Console), иногда вы можете понять это только в первый раз, обратившись за советом.

1 голос
/ 10 июня 2009

Мне нравится использовать DocJar .

Существует даже плагин для затмения, но я еще не пробовал.

http://eclipse-plugins.2y.net/eclipse/plugin_details.jsp?id=959
1 голос
/ 10 июня 2009

Учебные руководства по Java, http://java.sun.com/docs/books/tutorial/, и API Java, http://java.sun.com/javase/6/docs/api/, являются необходимыми ресурсами, чтобы узнать, как что-то делать и с какими классами.

1 голос
/ 10 июня 2009

Я бы порекомендовал такую ​​книгу, как Java In A Nutshell , которая является отличным справочником по API Java SE (обратите внимание, что он охватывает только Java 5, но для большинства нужд это нормально)

1 голос
/ 10 июня 2009
  • Вы ищете библиотеки Java? Попробуйте поиск в Google, например, пул соединений с базой данных Java
  • Вы ищете классы внутри основных библиотек Java? Установите IDE и ищите классы, например, в Eclipse попробуйте Ctrl-Shift-T и введите имена: LinkedList . Обратите внимание, что в Eclipse вы также можете использовать подстановочные знаки, например * List , чтобы получить все классы с именами, заканчивающимися на List;
  • Ищете определенный класс внутри пакета? Попробуйте репозиторий Sonatype Maven , щелкните расширенный поиск и в новом раскрывающемся списке выберите имя класса.
0 голосов
/ 10 июня 2009

Я согласен, что учебные пособия хороши, а поисковые системы в целом великолепны (но теперь они все возвращают вас к SO). Помимо форумов, один ресурс, который нельзя пропустить, это программисты вокруг вас. Если вы являетесь частью команды разработчиков или в классе, вы можете получить ответы на свои вопросы или сотрудничать в поиске. Человеку часто легче помочь вам, если вы не совсем уверены, что понимаете, что ищете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...