簡単な質問ですが、何度もグーグルで検索しても答えが見つかりませんでした。
パッケージ外のクラスをインポートすることは可能ですか?
2 つのフォルダーがA
あり、それぞれにファイルがあるとB
し.java
ます。句を使用して、import
に含まれるクラスをインポートすることは可能A
ですか? import A.Aclass
? または、キーワードがある場合は常にパッケージ構文を使用する必要がありimport
ます ?
はい、importステートメントを使用してクラスをインポートすることは可能です。理解を深めるために、3つのフォルダfoldera
がfolderb
あり、folderc
ここに「」という名前の.javaファイルが含まれ、 「 」という名前の別の.javaファイルが含まれ、「 」という名前の.javaファイルがfoldera
含まれていると仮定します。ここで、メンバーデータと " " in ""の操作を使用する場合は、次のようにステートメントを使用できます。ClassA.java
folderb
ClassB.java
folderc
ClassC.java
ClassA.java
ClassC.java
import
import foldera.ClassA
「ClassC.java」で「ClassB.java」のメンバーデータと操作を使用したい場合は、importステートメントでも可能です。
import folderb.ClassB
Javaソースファイル宣言ルールに従って、クラスがパッケージの一部である場合、package
ステートメントは、存在する可能性のあるステートメントの前に、ソースコードファイルの最初の行である必要がありますimport
。この例では、"ClassC.java"
ソースファイルの最初の行package folderc
はにあるためでなければなりませんfolderc
。同様に、"ClassA.java"
ソースファイルの最初の行は。である必要があり、ソースファイルpackage foldera
の最初の行は。で"ClassB.java"
ある必要がありますpackage folderb
。
今、あなたがコンセプトを明確にしていることを願っています!ありがとうございました...
クラスが を持つように定義されている場合はpackage a;
、パッケージ名でクラスをインポートする必要があります。同じ名前のクラスを含む 2 つのパッケージがある場合、それぞれを呼び出す必要があるクラスでは、完全修飾名を使用する必要があります。例えば:
import a.Foo;
import b.Foo;
public class Bar
{
public static void main(String[] args)
{
a.Foo aFoo = new a.Foo();
b.Foo bFoo = new b.Foo();
}
}
または、同じ名前のクラスを持つ 2 つのパッケージがある場合は、それらのインポートを単純にスキップできますが、完全修飾名 (FQN) で使用します。
クラスに がない場合はpackage ...;
、次のようにインポートするだけです。
import Foo;
ただし、同一の FQN を持つクラスを含む (異なるライブラリからの) 2 つのパッケージがある場合、クラスパスの最初のパッケージが選択されます。
パッケージの命名規則は小文字を使用し、クラスの命名規則であることを覚えておいてください。名前は、クラス名の各単語を大文字で始める必要があります。
はい、パッケージ構文を使用する必要があります。
フォルダ内のすべてのクラスをインポートしますA
。
import com.pack.A.*;
フォルダ内の特定のクラスをインポートしますA
。
import com.pack.ClassName;
はい、パッケージをインポートするだけで可能です
構文
import pck.ClassA or import pck.*
はい、可能です。
次のものがある場合:
パッケージ: パックA
クラス:クラスA
行う:
PackA.ClassA をインポートします。//クラスをインポート
また
PackA.* をインポートします。// パッケージ内のすべてのクラスをインポートします