Main自身からMainのインスタンスを作成してメソッドを実行

Mainをこういうふうに使うことはないかもしれないけど。
新鮮で面白かったので、メモ。

  1 public class Main {
  2   String str;
  3   public static void main(String[] args) {  //プログラム実行開始
  4     new Main("Hey").print();
  5   }
  6 
  7   Main(String str) {              //コンストラクタ
  8     this.str = str;
  9   }
 10 
 11   void print() {               //メソッド
 12     System.out.println(str);
 13   }
 14 
 15 }

実行結果

$ javac Main.java
$ java Main
Hey