
Javaの初学者です。
無名パッケージ内のクラスを、他のパッケージ中から呼びたいのですが、うまくいきません。
Test/src/Test.java
----
public class Test {
public int m1;
public Test() {
m1 = 1;
}
}
----
という既存のプロジェクトがあるとします。
このプロジェクト内のTest.javaを利用したいと考えたとき、例えば、
Test2/src/Test2.java
----
import Test;
public class Test2 {
public static void main(String[] args) {
Foo foo = new Foo();
System.out.println(foo.m1);
}
}
----
はうまくいきます。
ですが、Test2プロジェクトを
Test2/src/test2/Test2.java
----
package test2;
import Test;
public class Test2 {
public static void main(String[] args) {
Foo foo = new Foo();
System.out.println(foo.m1);
}
}
----
のようにするとうまくいきません。
package test2の中から、外の無名パッケージのTestクラスを使用するには、どのようにすればよいでしょうか?
どうぞよろしくお願いします。
No.1ベストアンサー
- 回答日時:
デフォルトパッケージ内のクラスはインポート出来ません。
>Test2/src/Test2.java
>----
>import Test;
>public class Test2 {
>public static void main(String[] args) {
>Foo foo = new Foo();
>System.out.println(foo.m1);
>}
>}
>----
これって本当にコンパイルとおりますか?
当方の環境では、import宣言でエラーになります。
このコードの場合、同パッケージ内なのでインポートしなくてもTestクラスを参照することはできます。
実際はimport宣言していないのではないでしょうか。
リフレクションを使えばデフォルトパッケージ内のクラスを参照できるみたいですが、
素直にTestクラスをパッケージに入れたほうがいいのではないかと思います。
ありがとうございます。
サンプルコードは多少切り貼りしたところがあるので、このままでは動かなかったかもしれませんが、同等のコードはコンパイルできたようです。(import 部分が不要?)
素直にパッケージへ入れることを検討しようと思います。
No.2
- 回答日時:
>>Javaの初学者です
というのであれば、コードを何とか動かすよりも、
まずはパッケージとクラスパスのことについて勉強してみるといいですよ。
これはjavaの基本であり最低スキルです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java java final 1 2022/06/10 22:49
- Java java 入力 3 4 3 出力 ABC DEFG HIJ このようなプログラムの書き方を教えてくだ 2 2022/07/15 14:18
- Ruby 【JAVA】数字をひし形に出力するプログラムについて 2 2022/07/11 23:32
- Java Java プログラム public class Main { public static void 3 2023/08/10 23:46
- Java 直し方について教えて頂きたいです。 4 2022/08/13 02:11
- C言語・C++・C# Windows Formアプリからコンソールを呼び出して文字を出力させたい 8 2023/05/09 10:53
- C言語・C++・C# ポインタの型変換、どうやるんでしたっけ? 2 2022/03/28 11:00
- Java javaのクラスの分け方について質問です。 APIの内部用と外部用でクラスを分けたいのですがインター 2 2022/04/26 16:06
- C言語・C++・C# 大量のデータを読み込んで表示する速度を改善したい 8 2023/05/07 13:29
- Java JavaのSingletonパターンのprivateの持つ意味が分かりません。 5 2022/06/12 10:38
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
a href="..." とServlet
-
クラス間でのデータ参照
-
関数内の変数に<summary>コメン...
-
C#のクラスライブラリでメッセ...
-
C++でfriendクラスにしているの...
-
C#にて別クラスの関数を使いたい
-
範囲外の数値を代入したらエラ...
-
c++,ある関数のクラスから別の...
-
親クラスから子クラスへアクセス。
-
Java
-
スーパークラスのコンストラク...
-
import と extends について
-
SwingでgetContentPaneのエラー...
-
Javaコンストラクタthisとsuper...
-
Java リフレクションについて
-
ひとつのファイルにクラスは1つ?
-
C# インターフェイスの実装
-
C++/C#間での構造体の引き渡し...
-
「タイプ初期化子が例外をスロ...
-
レコード件数の表示
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
クラス間でのデータ参照
-
範囲外の数値を代入したらエラ...
-
関数内の変数に<summary>コメン...
-
C#にて別クラスの関数を使いたい
-
c++,ある関数のクラスから別の...
-
構造 他のクラスの構造体を別...
-
C#でほかのファイルにある自作...
-
C++でfriendクラスにしているの...
-
import と extends について
-
Java リフレクションについて
-
無名パッケージからのインポート
-
visual studioのデザイナ画面で...
-
ひとつのファイルにクラスは1つ?
-
違うクラスからの変数の共有化
-
C#のクラスライブラリでメッセ...
-
継承したクラス側のクラス名の取得
-
Java
-
java-別クラスの変数の使い方を...
-
C# インターフェイスの実装
-
デシリアライズでオブジェクト...
おすすめ情報