0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Javaで「1ファイルに複数クラス」をまとめる方法を初学者向けに解説する

0
Posted at

はじめに

Java を学び始めた初学者がよくつまずくポイントのひとつが、

「クラスって1ファイルに1つじゃないの?」
という誤解です。

実は Java では、public を付けなければ複数クラスを1ファイルにまとめて書けます。
この記事では、初学者でも理解しやすいように、Dog / Cat / Main の3クラスを1ファイルにまとめる方法 を解説します。

結論:public を付けるのは1ファイルにつき1クラスだけ

Java のルール:

  • public class はファイル名と一致しなければならない
    →だから Main.java なら public class Main だけが public
  • 他のクラスは public を付けない(デフォルトアクセス)
    これだけ覚えればOKです。

完成コード(1ファイルで完結)

下は Main.java にすべて書いた例です。

java Main.java
// -----------------------------
// Dogクラス(publicを付けない)
// -----------------------------
class Dog {
    String name;

    public Dog(String name) {
        this.name = name;
    }

    public void bark() {
        System.out.println(name + "が吠えました");
    }
}

// -----------------------------
// Catクラス(publicを付けない)
// -----------------------------
class Cat {
    String name;

    public Cat(String name) {
        this.name = name;
    }

    public void meow() {
        System.out.println(name + "が鳴きました");
    }
}

// -----------------------------
// メインクラス(publicは1つだけ)
// -----------------------------
public class Main {
    public static void main(String[] args) {
        Dog dog = new Dog("ポチ");
        Cat cat = new Cat("タマ");

        dog.bark();
        cat.meow();
    }
}

なぜ public を外すのか?

✔ public を付けると「ファイル名と一致しなければならない」

  • public class Main → Main.java に書く必要がある
  • public class Dog を同じファイルに書くとエラーになる

✔ public を外すと「同じファイル内で自由に使える」

  • Dog や Cat は このファイル内だけで使う“部品” として扱える

まとめ

内容 説明
public class は1つだけ ファイル名と一致する必要がある
他のクラスは public を付けない 同じファイル内で使える
初学者向けに1ファイル構成は有効 見通しが良く、理解しやすい
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?