패키지는 클래스를 구성하는 방법입니다.
패키지를 사용하는 주요 목적은 클래스의 고유성을 보장하는 것입니다.
예를 들어, 코드에 테스트 클래스를 작성합니다. 동료 테스트 클래스를 작성할 수도 있습니다. 동일한 이름을 가진 두 개의 클래스가 있으면 충돌이 발생하고 코드가 컴파일되지 않습니다.
Java에서는 이미 만들어진 클래스를 많이 제공합니다.
① 사용하려면: 예를 들어 배열을 인쇄하려면:
public class TestDemo{ public static void main(String[] args) { int[] array = {1,2,3,4,5}; System.out.println(Arrays.toString(array)); } }
배열을 사용할 때 패키지를 가져와야 합니다. 그림을 참조하세요.
코드의 맨 윗줄을 쓰지 않으면 , 오류가 보고됩니다. 그림을 참조하세요.
위 내용을 가져오는 방법 패키지의 경우 Arrays 코드를 작성할 때 IDEA에서 선택할 수 있는 옵션이 자동으로 팝업됩니다. 첫 번째 항목을 선택하고 Enter를 누르면 패키지를 가져오는 데 도움이 됩니다. 그림을 보세요:
②: 또 다른 예:
Date는 날짜를 정의하는 클래스이며 Java 클래스 라이브러리에서도 작성됩니다.
public class TestDemo { public static void main(String[] args) { java.util.Date date = new java.util.Date();//在我们不导包时候手写 // 得到一个毫秒级别的时间戳 System.out.println(date.getTime()); } }
java.util.Date를 사용하여 Java에 도입할 수 있습니다. .util package.Date class
하지만 이 경우에는 위의 작성 방법을 사용하고 import 문을 사용하여 패키지를 가져올 수 있습니다.
import java.util.Date; public class TestDemo { public static void main(String[] args) { Date date = new Date(); // 得到一个毫秒级别的时间戳 System.out.println(date.getTime()); } }
참고:
할 수 있습니다. 특정 클래스를 가져오지만 특정 패키지를 가져올 수는 없습니다
: util 패키지를 가져오고 오류 보고
: 특정 클래스 가져오기
3: 또 다른 예:
사용해야 하는 경우 java.util의 다른 클래스에서는 import java.util.*
import java.util.*; public class TestDemo { public static void main(String[] args) { Date date = new Date(); // 得到一个毫秒级别的时间戳 System.out.println(date.getTime()); } }
를 사용할 수 있습니다.
: 오류가 보고되지 않습니다. 이 *는 이 패키지 아래의 모든 클래스를 가져오는 것을 의미하는 와일드카드 문자로 이해될 수 있습니다. 질문: util에 여러 클래스가 있습니다. 한꺼번에 가져올 수 있나요? 아니요, Java 처리에 관해서는 필요한 사람을 처리할 것입니다.
4: 하지만 가져올 클래스 이름을 명시적으로 지정하는 것이 좋습니다. 그렇지 않으면 여전히 충돌이 발생하기 쉽습니다.
예:
import java.util.*; import java.sql.*; public class TestDemo { public static void main(String[] args) { // util 和 sql 中都存在一个 Date 这样的类, 此时就会出现歧义, 编译出错 Date date = new Date(); System.out.println(date.getTime()); } } // 编译出错 Error:(5, 9) java: 对Date的引用不明确 java.sql 中的类 java.sql.Date 和 java.util 中的类 java.util.Date 都匹配
이 경우 전체 클래스 이름을 사용해야 합니다.
참고:
가져오기는 C++의 #include와 매우 다릅니다. C++에서는 다른 파일 내용을 도입하기 위해 #include가 필요하지만 Java에는 코드 작성 시 편의를 위한 것뿐입니다. 가져오기는 C++의 네임스페이스와
지식 포인트
가져오기와 패키지의 차이점
패키지: "패키지"는 클래스가 있는 패키지를 의미합니다.
가져오기: "소개"는 클래스에 필요한 클래스 가져오기
몇 가지를 사용하려는 경우 Java 클래스 라이브러리 import
2를 통해 코드를 가져와야 합니다. Static import
①예:
import static java.lang.System.*; public class Test { public static void main(String[] args) { out.println("hello"); } }
이런 식으로 System.out.println(" hello"); 다음과 같이 작성할 수 있습니다. out.println("hello");
② 또 다른 예:
import static java.lang.Math.*; public class TestDemo { public static void main(String[] args) { double x = 30; double y = 40; // 静态导入的方式写起来更方便一些. // double result = Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2)); double result = sqrt(pow(x, 2) + pow(y, 2)); System.out.println(result); } }
그런 다음 코드를 작성할 때 Math.를 제거할 수 있습니다.
3. 클래스를 패키지에 넣습니다.
파일 상단에 패키지 문을 추가하여 코드가 어떤 패키지에 있는지 지정합니다.
패키지 이름은 가능한 한 고유하게 지정해야 합니다. 일반적으로 회사 도메인 이름의 반대 형식을 사용합니다(예: com.xuexiao.demo1).
패키지 이름은 코드 경로와 일치해야 합니다. 예를 들어 com.xuexiao.demo1 패키지를 생성하면 코드 저장을 위한 해당 경로는 com/xuexiao/demo1입니다.
클래스에 패키지 문이 없는 경우 해당 클래스는 기본 패키지에 배치됩니다.
작업 단계:
1) 먼저 IDEA에서 새 패키지를 만듭니다. : src -> New-> Package
를 마우스 오른쪽 버튼으로 클릭합니다.2) 팝업 대화 상자에 패키지 이름(예: com.xuexiao.demo1)을 입력하고 Enter
를 클릭합니다. 패키지에 있는 클래스를 마우스 오른쪽 버튼으로 클릭한 다음, 클래스 이름을 입력하세요
4) 이때 우리 디스크의 디렉토리 구조는 다음과 같습니다. IDEA에 의해 자동으로 생성됨
5) 동시에 새로 생성된 Test.java 파일 상단에 패키지 명령문
이 있음을 알 수 있습니다.
我们已经了解了类中的 public 和 private. private 中的成员只能被类的内部使用.
如果某个成员不包含 public 和 private 关键字, 此时这个成员可以在包内部的其他类使用, 但是不能在包外部的类使 用.
举例:
下面的代码给了一个示例. Demo1 和 Demo2 是同一个包中, Test 是其他包中.
Demo1.java
package com.bili.demo; public class Demo1 { int value = 0; }
Demo2.java
package com.bili.demo; public class Demo2 { public static void Main(String[] args) { Demo1 demo = new Demo1(); System.out.println(demo.value); } }
// 执行结果, 能够访问到 value 变量
10
Test.java
import com.bili.demo.Demo1; public class Test { public static void main(String[] args) { Demo1 demo = new Demo1(); System.out.println(demo.value); } } // 编译出错 Error:(6, 32) java: value在com.bili.demo.Demo1中不是公共的; 无法从外部程序包中对其进行访问
1. java.lang:系统常用基础类(String、Object),此包从JDK1.1后自动导入。
2. java.lang.reflect:java 反射编程包;
3. java.net:进行网络编程开发包。
4. java.sql:进行数据库开发的支持包。
5. java.util:是java提供的工具程序包。(集合类等) 非常重要
6. java.io:I/O编程开发包。
위 내용은 자바 패키지를 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!