目次
概要
クラスを使ったシンプルな Hello Java を出力するプログラムです。 クラスとメソッドの使い方を理解する為のサンプルコードです。 クラスをインスタンス化する事で、別のクラスのメソッドを使用するサンプルです。
ソースコード
// Hellojava_Class_Main.java // 概要 // クラスを使った Hello Java // // メインクラス class Hellojava_Class_Main { // メインメソッド public static void main ( String[] args ) { // メソッド呼び出し Hellojava_Class_method() ; } // メソッド public static void Hellojava_Class_method() { // サブクラス Hellojava_Class_Subをインスタンス化 Hellojava_Class_Sub Obj1 = new Hellojava_Class_Sub() ; // サブクラス Hellojava_Class_subのメソッドStandard_outを呼び出し Obj1.Standard_out(); } } // サブクラス // Hellojava_Class_Sub.java class Hellojava_Class_Sub { // メソッドの定義 public static void Standard_out() { System.out.println( "Hello Java" ); } }
解説
メインクラス
メインクラス【Hellojava_Class_Main】を作成します。 クラスの定義は下記の様に行います。
class Hellojava_Class_Main { }
メインメソッド
メインメソッドから【Hellojava_Class_method】を呼び出します。
class Hellojava_Class_main { // メインメソッド public static void main ( String[] args ) { // メソッド呼び出し Hellojava_Class_method() ; }
メソッド
メソッド【Hellojava_Class_method】を定義します。
class Hellojava_Class_Main { // メインメソッド public static void main ( String[] args ) { // メソッド呼び出し Hellojava_Class_method() ; } // メソッド public static void Hellojava_Class_method() { // クラス Hellojava_Class_Subをインスタンス化 } }
サブクラスのインスタンス化
サブクラス【Hellojava_Class_Sub】をインスタンス化します。 インスタンス化は下記の様に定義します。
// クラス Hellojava_Class_Subをインスタンス化 Hellojava_Class_Sub Obj1.new Hellojava_Class_Sub() ;
メソッド内にクラスのインスタンス化を定義します。
class Hellojava_Class_Main { // メインメソッド public static void main ( String[] args ) { // メソッド呼び出し Hellojava_Class_method() ; } // メソッド public static void Hellojava_Class_method() { // クラス Hellojava_Class_Subをインスタンス化 Hellojava_Class_Sub Obj1 = new Hellojava_Class_Sub() ; } }
インスタンス化した【Hellojava_Class_Sub】のメソッドを呼び出します。 インスタンス化した時の変数【Obj1】でメソッドを呼び出すには下記の様に記述します。
// クラス Hellojava_Class_Subのメソッドを利用 Obj1.Standard_out();
メソッド内でクラス【Hellojava_Class_Sub】のメソッドを呼び出します。
class Hellojava_Class_Main { // メインメソッド public static void main ( String[] args ) { // メソッド呼び出し Hellojava_Class_method() ; } // メソッド public static void Hellojava_Class_method() { // クラス Hellojava_Class_Subをインスタンス化 Hellojava_Class_Sub Obj1 = new Hellojava_Class_Sub() ; // クラス Hellojava_Class_Subのメソッドを呼び出し Obj1.Standard_out(); } }
サブクラスの定義
メインクラスでインスタンス化するサブクラスを定義します。 サブクラス【Hellojava_Class_Sub】を下記の様に定義します。
class Hellojava_Class_Sub { // メソッドの定義 }
サブクラスのメソッドの定義
標準出力に文字列「Hello Java」を出力するメソッドを定義します。 メソッド名【Standard_out】を定義します。
class Hellojava_Class_Sub { // メソッドの定義 public static void Standard_out() { System.out.println( "Hello Java" ); } }
ソースファイル
ソースファイル名【Hellojava_Class_Main.java】で保存します。 一つのソースファイル内に二つのクラスが存在しています。
// Hellojava_Class_Main.java // 概要 // クラスを使った Hello Java // // メインクラス class Hellojava_Class_Main { // メインメソッド public static void main ( String[] args ) { // メソッド呼び出し Hellojava_Class_method() ; } // メソッド public static void Hellojava_Class_method() { // サブクラス Hellojava_Class_Subをインスタンス化 Hellojava_Class_Sub Obj1 = new Hellojava_Class_Sub() ; // サブクラス Hellojava_Class_subのメソッドStandard_outを呼び出し Obj1.Standard_out(); } } // サブクラス // Hellojava_Class_Sub.java class Hellojava_Class_Sub { // メソッドの定義 public static void Standard_out() { System.out.println( "Hello Java" ); } }
コンパイル
ソースファイル【Hellojava_Class_Main.java】をコンパイルします。
javac Hellojava_Class_Main.java
コンパイル後、ファイルを確認すると、クラスファイルが二つ作成されています。 メインクラスのクラスファイル:【Hellojava_Class_Main.class】 サブクラスのクラスファイル :【Hellojava_Class_sub.class】
ディレクトリを確認すると下記の様になります。
>DIR 2020/08/02 19:47 <DIR> . 2020/08/02 23:25 <DIR> .. 2020/08/03 22:52 725 Hellojava_Class_Main.java 2020/08/03 23:04 432 Hellojava_Class_Main.class 2020/08/03 23:04 421 Hellojava_Class_sub.class
実行
実行時には、メインクラス【Hellojava_Class_Main】を実行します。 メインクラスは、サブクラス【Hellojava_Class_Sub】を呼び出して実行します。
>javac Hellojava_Class_Main.java >java Hellojava_Class_Main Hello Java >