前提・実現したいこと
入門書でJavaを勉強中の初心者です。
package private クラスの利用方法について質問します。
「package privateクラスの名前はソースファイル名と異なっていてもよく、1つのソースファイルにクラスを複数宣言してもよい」という旨の記述を読んだので、自分でコードを書いてみました。
具体的には、databaseパッケージの中にあるOthers.javaというファイルのHundredクラスとThousandクラス(共にpackage private クラス)を、同じくdatabaseパッケージ内のYokin.javaのクラス内のメソッドから利用するものです。
しかし、コンパイルすると「シンボルを見つけられません」というエラーが出てしまいます。
Yokin.javaからOthers.javaのHundredやThousandクラスを利用するにはどうすればよいのでしょうか?
よろしくお願いします。
発生している問題・エラーメッセージ
エラーメッセージ(コマンドプロンプト)
C:\Users\(ユーザー名)\Atom\sukkiri_java_introduction>javac -encoding UTF-8 Main.java .\database\Yokin.java:7: エラー: シンボルを見つけられません Hundred h = new Hundred(); ^ シンボル: クラス Hundred 場所: クラス Yokin .\database\Yokin.java:7: エラー: シンボルを見つけられません Hundred h = new Hundred(); ^ シンボル: クラス Hundred 場所: クラス Yokin .\database\Yokin.java:13: エラー: シンボルを見つけられません Thousand t = new Thousand(); ^ シンボル: クラス Thousand 場所: クラス Yokin .\database\Yokin.java:13: エラー: シンボルを見つけられません Thousand t = new Thousand(); ^ シンボル: クラス Thousand 場所: クラス Yokin エラー4個 ### 該当のソースコード ```ソースコード Main.java ```ここに言語を入力 import database.Yokin; public class Main { public static void main(String[] args) { Yokin y = new Yokin(); y.hundred(); y.thousand(); } }
Yokin.java
Java
1package database; 2 3public class Yokin { 4 private int yokin; 5 6 public void hundred() { 7 Hundred h = new Hundred(); 8 this.yokin = h.getNumber(); 9 System.out.println("現在の預金額は" + this.yokin + "です。"); 10 } 11 12 public void thousand() { 13 Thousand t = new Thousand(); 14 this.yokin = t.getNumber(); 15 System.out.println("現在の預金額は" + this.yokin + "です。"); 16 } 17}
Others.java
Java
1package database; 2 3class Hundred { 4 private int number = 100; 5 6 int getNumber() { 7 return this.number; 8 } 9} 10 11class Thousand { 12 private int number = 1000; 13 14 int getNumber() { 15 return this.number; 16 } 17}
補足情報
エディタ:Atom 1.47.0 x64
OS: Windows 10 Home 64bit
java 14.0.1
ディレクトリ
sukkiri_java_introduction | |---Main.java | | |---database | |---Yokin.java | |---Others.java
回答1件
あなたの回答
tips
プレビュー