Не создаются пакеты в пакете Inellij IDEA
Здравствуйте, знаю что закидаете тапками. Гуглил. Видимо еще не до конца освоил это дело. Копался, но не нашел. Когда пытаюсь создать пакет в пакете в intellij он просто добавляет в первому пакету имя второго через точку. Пару дней назад все создавалось нормально, сейчас не понимаю что такого произошло. Пример если есть пакет structure и я хочу создать в нем пакет factory то первый пакет получит имя structure.factory. Как быть? Спасибо большое тем кто откликнется.
Отслеживать
задан 7 дек 2016 в 0:25
RileyGreyson RileyGreyson
51 1 1 серебряный знак 2 2 бронзовых знака
idea сама сворачивает пакеты, в которых есть только один вложенный пакет. если вам требуется работать с пакетом уровнем выше, вы можете создать его в текущем пакете, нажать f6 и переместить.
7 дек 2016 в 0:41
Но как мне быть если мне в этом пакете надо создать два пакета?
7 дек 2016 в 20:40
если вам требуется работать с пакетом уровнем выше, вы можете создать его в текущем пакете, нажать f6 и переместить. я могу еще пару раз повторить, если нужно.
Как создать пакет в java в intellij idea
В прошлой теме мы рассмотрели, как создавать первую программу с последующим ее запуском в командной строке. Однако в реальности, как правило, крупные программы разрабатываются не при помощи простого текстового редактора, а с использованием таких средств как IDE или интегрированные среды разработки, которые упрощают и ускоряют написание кода и создание приложений. На данный момент одной из самых популярных сред разработки для Java является IntelliJ IDEA от компании JetBrains. Рассмотрим, как использовать данную среду.
Прежде всего загрузим установочный дистрибутив с официального сайта https://www.jetbrains.com/idea/download. По этому адресу можно найти пакеты для Windows, MacOS, Linux. Кроме того, сама среда доступна в двух версиях — Ultimate (платная с триальным бесплатным периодом) и Community (бесплатная). В данном случае выберем бесплатную версию Community .

Конечно, Community-версия не имеет ряда многих возможностей, которые доступны в Ultimate-версии (в частности, в Community недоступны опции для веб-приложений на Java). Но Community-версия тоже довольно функциональна и тоже позволяет делать довольно много, в том числе приложения на JavaFX и Android.
После установки запустим IntelliJ IDEA и создадим первый проект. Для этого на стартовом экране выберем New Project :

Далее откроется окно создания проекта. В левой части в качестве типа проекта выберем Java.

В поле Name укажем имя проекта. В моем случае проект будет называться HelloApp.
В поле Location можно указать путь к проекту, если не устраивает путь по умолчанию.
Поскольку мы будем работать с языком Java, в поле Language выберем пункт Java
Кроме того, в поле JDK можно указать путь к Java SDK, который будет использоваться в проекте. Как правило, это поле по умолчанию уже содержит путь к JDK, который установлен на локальном компьютере. Если это поле пусто, то его надо установить.
После этого нажмем на кнопку Create. После этого среда создаст и откроет проект.

В левой части мы можем увидеть структуру проекта. Все файлы с исходным кодом помещаются в папку src . По умолчанию эта папка пуста, никаких файлов кода у нас в проекте пока нет. Поэтому добавим файл с исходным кодом. Для этого нажмем на папку src правой кнопкой мыши и в контекстном меню выберем пункт New -> Java Class :

После этого нам откроется небольшое окошко, в которое надо ввести имя класса. Пусть класс будет называться Program :

После нажатия на клавишу Enter в папку src будет добавлен новый файл с классом java (в случае выше класс Program). А в центральной части откроется его содержимое — собственно исходный код:

Изменим код класса следующим образом:
public class Program < public static void main(String[] args) < System.out.println("Hello Java!"); >>
С помощью зеленой стрелки на панели инструментов или через меню Run -> Run. запустим проект.

И внизу IntelliJ IDEA отобразится окно вывода, где мы можем увидеть результат работы нашей программы.
Creating the package and class
We recommend putting IntelliJ IDEA into full screen to give you the maximum amount of space for your new Hello World project.
The project window shows all the directories and the files that make up our projects.

Of course, you can use the mouse to navigate the Project window, but you can also use the arrow keys. You can also toggle the display of this tool window with Cmd+1 on macOS, or Alt+1 on Windows/Linux.
Creating Your Package and Class
Next, you’re going to create the package and the class. Application packages are used to group together classes that belong to the same category or provide similar functionality. They are useful for organising large applications that might have hundreds of classes.
- To create a new class, select the blue src folder and press Cmd+N on macOS, or Alt+Insert on Windows/Linux. Select Java Class from the popup.

You can type a simple class name in here, but if you want to create a new class in a particular package, you can type the whole package path separated by dots, followed by the class name. For example com.example.helloworld.HelloWorld .

Here, example might be your preferred domain and HelloWorld is the name of your Java class that IntelliJ IDEA will create.
When you press Enter IntelliJ IDEA will create the package you wanted, and the correct directory structure for this package that you specified. It has also created a new HelloWorld.java file and generated the basic contents of this class file. For example, the package statement and class declaration, the class has the same name as the file.

Coding Your HelloWorld Class
- You can move on to the next line in a class file by pressing Shift+Enter. This moves the caret to the next line in the correct position and won’t break the previous line.
- To create the standard Java main method, type main . IntelliJ IDEA displays a live template that you can use to generate the full code construct and save a lot of time. You can also use Cmd+J on macOS, or Ctrl+J on Windows/Linux to see all the Live Templates in IntelliJ IDEA that are valid for the current context.
Note: Pressing Escape will always close a drop-down or dialogue without making any changes.

- Press Enter to select it. IntelliJ IDEA will generate the rest of the code for you.

- Now, you need to call a method that prints some text to the standard system output.
IntelliJ IDEA offers you code completion. If you type Sy you will see a drop-down of likely classes you might want to call. You want System so you can press Control+dot on the highlighted option.

Note: It’s case-sensitive, typing in sy rather than Sy will give you different results!
- Now type o IntelliJ IDEA will suggest you want to use out as the next function. IntelliJ IDEA is showing you a list of accessible fields and methods on the System class. Those that start with the letter o are listed first, followed by other methods and fields that contain the letter o .
- press Control+dot and this time IntelliJ IDEA will suggest println . Press Enter to select it.
- IntelliJ IDEA will also place the caret in the brackets, so you can provide the argument to the method. Type in a quote mark » and IntelliJ IDEA will close the quote mark for you. You can now type your text, Hello World in between the quotes.

Note: Instead of the above steps, you can also type sout to see a live template that will create the code construct for you as well, however we wanted to show you code completion!
Congratulations, you’ve just created your first Java application! Java files like this one can be compiled into bytecode and run in IntelliJ IDEA. Let’s take a look at that in the next step.
Пакеты — Основы Java
Реальные программы на Java состоят из сотен и тысяч классов. При таких размерах легко возникают ситуации, когда создаются классы с одинаковыми именами. Если два таких класса окажутся внутри одного проекта, то он перестанет компилироваться.
Для решения проблемы конфликта имен вводится система пакетов. Пакеты позволяют группировать похожие классы.
Определение пакетов
Структура пакетов тесно связана со структурой директорий. Как правило, структура пакетов соответствует файловой структуре директорий проекта, в которых находится файлы с исходным кодом. Например, если классы размещены в пакете example.package1 , то и файлы в проекте должны быть расположены в директории example/package1. Некоторые IDE, например популярная IntelliJ IDEA, при создании пакета автоматически создают соответствующую файловую структуру в директории проекта
Здесь имя User — это так называемое простое имя класса. А полным именем класса считается имя, состоящее из всех пакетов, перечисленных через точку, и простого имени класса. Например, полные имена для классов User будут такими: example.package1.User и example.package2.User . Теперь проблема одинаковых имён классов в большом проекте решена, так как в разных пакетах могут находиться классы с одинаковым простым именем
Для примера в пакете example.package1 создадим класс User , который будет описывать методы для работы с пользователем:
// Файл src/main/java/example/package1/User.java // Именовать пакет начинаем от директории src/main/java/, // в которой расположен корневой пакет package example.package1; class User public static String getGreeting(String userName) return "Hello, " + userName + "!"; > >
Используем этот класс в том же пакете:
// Файл src/main/java/example/package1/App.java // Класс расположен в том же пакете, что и класс User package example.package1; class App public static void main(String[] args) // Внутри своего пакета класс можно использовать, // обратившись к нему по простому имени var greeting = User.getGreeting("John"); System.out.println(greeting); // => Hello, John! > >
Внутри своего пакета можно обращаться к классу по его простому имени. Компилятор поймет, что мы хотим использовать класс User , расположенный в том же пакете. Но в разработке постоянно приходится использовать классы из других пакетов. Помимо разрешения конфликтов имен, пакеты выполняют еще одну функцию — контроль доступа.
Контроль доступа
По умолчанию все классы внутри пакета доступны только классам этого же пакета. Чтобы получить доступ к классу снаружи, из другого пакета, этот класс нужно сделать публичным. Вернемся к нашему примеру с пользователем и сделаем класс User в пакете example.package1 публичным
package example.package1; // К определению класса добавляем модификатор public // Теперь класс User становится публичным // и к нему можно обратиться из другого пакета public class User public static String getGreeting(String userName) return "Hello, " + userName + "!"; > >
Используем класс User в другом пакете. Чтобы использовать класс в другом пакете, нужно обратиться к нему по его полному имени, чтобы однозначно указать компилятору, какой именно класс мы хотим использовать:
// Файл src/main/java/example/App.java // Уже другой пакет package example; class App public static void main(String[] args) // Обращаемся по полному имена класса var greeting = example.package1.User.getGreeting("John"); System.out.println(greeting); // => Hello, John! > >
Постоянно писать полное имя класса может быть не удобно. На деле чаще всего поступают иначе. Чтобы каждый раз не писать полное имя класса, мы можем импортировать этот класс, после чего в коде можно будет обращаться к нему по простому имени. Чтобы импортировать класс, нужно использовать ключевое слово import , после которого указать полное имя класса, который мы хотим импортировать
package example; // Импортируем класс User из пакета example.package1 import example.package1.User; class App public static void main(String[] args) // Теперь класс можно использовать, обратившись к нему по простому имени var greeting = User.getGreeting("John"); System.out.println(greeting); // => Hello, John! > >
![]()
Остались вопросы? Задайте их в разделе «Обсуждение»
Вам ответят команда поддержки Хекслета или другие студенты