インスタンスを作成する際に引数を受け取るには、クラスにコンストラクタを作成しなければなりません。コンストラクタは、クラス名と同じ名前で戻り値をもたないメソッドです。
A クラスにコンストラクタを作成すると、public A(String a) というコンストラクタになります。コンストラクタはメソッドと同じなので、int 型の値を受け取る時は、もちろん public A(int a) となりますし、public A(String a, int b) というように複数の値を受け取ることが出来ます。
クラスにコンストラクタを作成しない場合、pulic クラス名() というコンストラクタが作られていることになります。そのため、今までコンストラクタのないクラスを作った時にインスタンスを作成する際は、new クラス名() で良かったのです。
今まで、インスタンスを作成する際は、クラス名 変数名 = new クラス名(); と覚えていましたが、正式には クラス名 変数名 = new
コンストラクタ名(); となります。また、クラス名のことを型と通常呼ぶので、
型名 変数名 = new コンストラクタ名()
と覚えましょう。
public class A {
public A(String a){
System.out.println("コンストラクタ = " + a);
}
}