Java クラスを使ったHello Java

概要

クラスを使ったシンプルな Hello Java を出力するプログラムです。
クラスとメソッドの使い方を理解する為のサンプルコードです。
クラスをインスタンス化する事で、別のクラスのメソッドを使用するサンプルです。

ソースコード

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
// 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 // 概要 // クラスを使った 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
// 概要
// クラスを使った 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】を作成します。
クラスの定義は下記の様に行います。
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
class Hellojava_Class_Main
{
}
class Hellojava_Class_Main { }
class Hellojava_Class_Main
{

}

メインメソッド

メインメソッドから【Hellojava_Class_method】を呼び出します。
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
class Hellojava_Class_main
{
// メインメソッド
public static void main ( String[] args )
{
// メソッド呼び出し
Hellojava_Class_method() ;
}
class Hellojava_Class_main { // メインメソッド public static void main ( String[] args ) { // メソッド呼び出し Hellojava_Class_method() ; }
class Hellojava_Class_main
{
  // メインメソッド
  public static void main ( String[] args )
  {
    // メソッド呼び出し
    Hellojava_Class_method()  ;
  }

メソッド

メソッド【Hellojava_Class_method】を定義します。
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
class Hellojava_Class_Main
{
// メインメソッド
public static void main ( String[] args )
{
// メソッド呼び出し
Hellojava_Class_method() ;
}
// メソッド
public static void Hellojava_Class_method()
{
// クラス 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をインスタンス化 } }
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】をインスタンス化します。
インスタンス化は下記の様に定義します。
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
// クラス Hellojava_Class_Subをインスタンス化
Hellojava_Class_Sub Obj1.new Hellojava_Class_Sub() ;
// クラス Hellojava_Class_Subをインスタンス化 Hellojava_Class_Sub Obj1.new Hellojava_Class_Sub() ;
    // クラス Hellojava_Class_Subをインスタンス化
    Hellojava_Class_Sub Obj1.new Hellojava_Class_Sub() ;
メソッド内にクラスのインスタンス化を定義します。
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
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() ;
}
}
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() ; } }
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】でメソッドを呼び出すには下記の様に記述します。
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
// クラス Hellojava_Class_Subのメソッドを利用
Obj1.Standard_out();
// クラス Hellojava_Class_Subのメソッドを利用 Obj1.Standard_out();
    // クラス Hellojava_Class_Subのメソッドを利用
    Obj1.Standard_out();
メソッド内でクラス【Hellojava_Class_Sub】のメソッドを呼び出します。
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
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();
}
}
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(); } }
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】を下記の様に定義します。
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
class Hellojava_Class_Sub
{
// メソッドの定義
}
class Hellojava_Class_Sub { // メソッドの定義 }
class Hellojava_Class_Sub
{
  // メソッドの定義

}

サブクラスのメソッドの定義

標準出力に文字列「Hello Java」を出力するメソッドを定義します。
メソッド名【Standard_out】を定義します。
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
class Hellojava_Class_Sub
{
// メソッドの定義
public static void Standard_out()
{
System.out.println( "Hello Java" );
}
}
class Hellojava_Class_Sub { // メソッドの定義 public static void Standard_out() { System.out.println( "Hello Java" ); } }
class Hellojava_Class_Sub
{
  // メソッドの定義
  public static void Standard_out()
  {
    System.out.println( "Hello Java" );
  }
}

ソースファイル

ソースファイル名【Hellojava_Class_Main.java】で保存します。
一つのソースファイル内に二つのクラスが存在しています。
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
// 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 // 概要 // クラスを使った 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
// 概要
// クラスを使った 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】をコンパイルします。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
javac Hellojava_Class_Main.java
javac Hellojava_Class_Main.java
javac Hellojava_Class_Main.java
コンパイル後、ファイルを確認すると、クラスファイルが二つ作成されています。
 メインクラスのクラスファイル:【Hellojava_Class_Main.class】
 サブクラスのクラスファイル :【Hellojava_Class_sub.class】
ディレクトリを確認すると下記の様になります。
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
>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
>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
>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】を呼び出して実行します。
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
>javac Hellojava_Class_Main.java
>java Hellojava_Class_Main
Hello Java
>
>javac Hellojava_Class_Main.java >java Hellojava_Class_Main Hello Java >
>javac Hellojava_Class_Main.java

>java  Hellojava_Class_Main
Hello Java

>
よかったらシェアしてね!