Javaパッケージの使い方

WBOY
リリース: 2023-04-29 14:52:06
転載
1279 人が閲覧しました

パッケージとは

パッケージはクラスを編成する方法です。

パッケージを使用する主な目的は、クラスの一意性を確保することです。

たとえば、コードに Test クラスを作成すると、同僚も Test クラスを作成する可能性があります。同じ名前のクラスが 2 つある場合、それらは競合し、コードのコンパイルに失敗します。

1. パッケージをインポートします。 Class

Java には、使用できる既製のクラスが多数用意されています。

①: たとえば、配列を出力します:

public class TestDemo{
    public static void main(String[] args) {
        int[] array = {1,2,3,4,5};
        System.out.println(Arrays.toString(array));
    }
}
ログイン後にコピー

配列を使用するには、パッケージをインポートする必要があります。図を参照してください:

Javaパッケージの使い方

コードの先頭行が記述されていない場合、エラーが報告されます。図を参照してください:

Javaパッケージの使い方

次に、上記をインポートする方法 パッケージに関しては、Arrays コードを記述すると、IDEA は選択するオプションを自動的にポップアップ表示します。最初の項目を選択して Enter キーを押すと、 、パッケージをインポートするのに役立ちます。図を見てください:

Javaパッケージの使い方

②: 別の例:

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.Date を使用できます。

ただし、この書き方は面倒です。このとき、上記の方法を使用できます。

import java.util.Date;
public class TestDemo {
    public static void main(String[] args) {
        Date date = new Date();
        // 得到一个毫秒级别的时间戳
        System.out.println(date.getTime());
   }
}
ログイン後にコピー

注:

特定のクラスをインポートすることはできますが、特定のパッケージをインポートすることはできません

Javaパッケージの使い方

: util パッケージをインポートし、エラーを報告します

Javaパッケージの使い方

: 特定のクラスをインポートします

#: 別の例:

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());
   }
}
ログイン後にコピー

Javaパッケージの使い方

: エラーは報告されません。これは * 可能です。ワイルドカード文字として理解され、このパッケージの下にあるすべてのクラスをインポートすることを意味します。

質問: util の下には多くのクラスがありますが、それらはすべて一度にインポートする必要がありますか?いいえ、Java 処理に関しては、必要な方に対応します。

④: ただし、インポートするクラス名を明示的に指定することをお勧めします。そうしないと、依然として競合が発生する可能性があります。

例:

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 都匹配
ログイン後にコピー

この場合、次のことが必要です。完全なクラス名を使用するには

注:

import は C の #include とは大きく異なります。他のファイルの内容を導入するには C では #include する必要がありますが、Java ではそうではありません。Import は単にimport は C の名前空間に似ており、使用法

知識ポイント

import と package の違い

package: "package" を参照します。 to: class それが配置されているパッケージ

import: 「はじめに」とは、インポートされたクラスに必要なクラスを指します。

Java クラス ライブラリでコードを使用したい場合は、 import

2 を通じてインポートする必要があります。静的インポート

パッケージ内の静的メソッドとフィールドをインポートするには、import static を使用します。

①例:

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. クラスをパッケージに配置します

基本ルール:

ファイルの先頭に package ステートメントを追加して、コードがどのパッケージに含まれるかを指定します。

パッケージ名は、通常は会社のドメイン名の逆の形式を使用して、できる限り一意に指定する必要があります (com.xuexiao.demo1 など)。

パッケージ名はコードと一致する必要があります。たとえば、com.xuexiao.demo1 パッケージを作成すると、コードを保存するための対応するパス com/xuexiao/demo1 が存在します。

クラスに package ステートメントがない場合、クラスは次のようになります。

操作手順:

1) まず、IDEA で新しいパッケージを作成します: src を右クリック -> 新規 -> パッケージ

Javaパッケージの使い方

2) ポップアップで ダイアログ ボックスにパッケージ名 (例: com.xuexiao.demo1) を入力し、[Enter] をクリックします

Javaパッケージの使い方

3)パッケージ内にクラスを作成し、パッケージ名を右クリックして、[新規]->クラスを選択し、クラス名を入力します

Javaパッケージの使い方

4) この時点で、次のことができます。ディスク上のディレクトリ構造が IDEA

Javaパッケージの使い方

5) によって自動的に作成されたことを確認してください。5) 同時に、新しく作成された Test.java の先頭にもそれが表示されます。ファイルにパッケージ ステートメントが表示されました

Javaパッケージの使い方

4.包的访问权限控制

我们已经了解了类中的 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中不是公共的; 无法从外部程序包中对其进行访问
ログイン後にコピー

5.常见的系统包

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编程开发包。

以上がJavaパッケージの使い方の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:yisu.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート