Размещение классов по функциональности

JavaJavaBeginner
Практиковаться сейчас

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

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


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL java(("Java")) -.-> java/ObjectOrientedandAdvancedConceptsGroup(["Object-Oriented and Advanced Concepts"]) java/ObjectOrientedandAdvancedConceptsGroup -.-> java/classes_objects("Classes/Objects") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/packages_api("Packages / API") subgraph Lab Skills java/classes_objects -.-> lab-178550{{"Размещение классов по функциональности"}} java/packages_api -.-> lab-178550{{"Размещение классов по функциональности"}} end

Пакеты

До сих пор мы писали много классов. Для крупного проекта может быть сотни классов, так что множество файлов и классов неудобно организовать. Разные программисты могут писать разные классы, и иногда могут возникнуть классы с одинаковыми именами в проекте. Поэтому, чтобы избежать таких проблем, мы можем использовать пакеты. Java-библиотеки разделены на пакеты, в том числе и java.lang, который содержит большинство классов, которые мы использовали до сих пор. Пакет - это группировка связанных типов, обеспечивающая защиту доступа и управление пространством имен. Обратите внимание, что под типами понимаются классы, интерфейсы, перечисления и типы аннотаций.

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

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

  • Ссылаться на член по его полному квалифицированному имени
  • Импортировать член пакета
  • Импортировать весь пакет члена

Пример

Напишите следующий код в файле /home/labex/project/com/example/demo/packageDemo.java:

package com.example.demo;  // create a new package

public class packageDemo{
    public static void test(){
        System.out.println("This is a package test.");
    }
}

Напишите следующий код в файле /home/labex/project/packageTest.java:

import com.example.demo.packageDemo;
class packageTest{
    public static void main(String[] args){
        packageDemo.test();
    }
}

Вывод

Запустите файл packageTest.java с использованием следующих команд:

javac /home/labex/project/packageTest.java
java packageTest

Посмотрите на вывод:

This is a package test.

Резюме

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