簡単な質問ですが、何度もグーグルで検索しても答えが見つかりませんでした。
パッケージ外のクラスをインポートすることは可能ですか?
2 つのフォルダーがAあり、それぞれにファイルがあるとBし.javaます。句を使用して、importに含まれるクラスをインポートすることは可能Aですか? import A.Aclass? または、キーワードがある場合は常にパッケージ構文を使用する必要がありimportます ?
はい、importステートメントを使用してクラスをインポートすることは可能です。理解を深めるために、3つのフォルダfolderaがfolderbあり、foldercここに「」という名前の.javaファイルが含まれ、 「 」という名前の別の.javaファイルが含まれ、「 」という名前の.javaファイルがfoldera含まれていると仮定します。ここで、メンバーデータと " " in ""の操作を使用する場合は、次のようにステートメントを使用できます。ClassA.javafolderbClassB.javafoldercClassC.javaClassA.javaClassC.javaimport
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.* をインポートします。// パッケージ内のすべてのクラスをインポートします