ゆるゆるプログラミング

・コンストラクタ

コンストラクタとは、インスタンスを生成したときに実行されるメソッドで、クラスのメンバ変数を初期化する処理などを記述します。

インスタンスは、以下のJavaソースコードのようにクラスをnewすることで生成します。

次に、コンストラクタ名の付け方のルールですが、クラス名と同じにする必要があります。以下のソースには、TestClassという名前のクラスを作り、その中に引数の違うTestClassという名前のメソッドが3つあります。これがコンストラクタです。これらのメソッドを呼び分ける方法は、newをするときの引数を変えることです。引数が一致しているメソッド(コンストラクタ)が呼び出されます。

ConstructorSample.java
001:    class TestClass {
002:    	// メンバ変数
003:    	int value;
004:    
005:    	// コンストラクタ(その1)
006:    	TestClass()
007:    	{
008:    		value = 0;
009:    	}
010:    
011:    	// コンストラクタ(その2)
012:    	TestClass( int a )
013:    	{
014:    		value = a;
015:    	}
016:    
017:    	// コンストラクタ(その3)
018:    	TestClass( int a, int b )
019:    	{
020:    		value = a * b;
021:    	}
022:    
023:    	// valueの値を取得するメソッド
024:    	public int getValue()
025:     	{
026:    		return value;
027:    	}
028:    }
029:    
030:    
031:    public class ConstructorSample {
032:    	// メイン
033:    	public static void main( String[] args )
034:    	{
035:    		// コンストラクタ(その1)
036:    		TestClass cls1 = new TestClass();
037:    		System.out.println( cls1.getValue() );
038:    		
039:    		// コンストラクタ(その2)
040:    		TestClass cls2 = new TestClass( 100 );
041:    		System.out.println( cls2.getValue() );
042:    
043:    		// コンストラクタ(その3)
044:    		TestClass cls3 = new TestClass( 5, 7 );
045:    		System.out.println( cls3.getValue() );
046:    	}
047:    }

ConstructorSampleを実行

C:\talavax\javasample>java ConstructorSample

ConstructorSampleの出力結果

0
100
35

この結果から、newの仕方で呼ばれるコンストラクタが違っていることがわかります。

■関連コンテンツ

プログラムの構成(1)   Javaのプログラム構成について解説

■新着情報

2017.11.17 N値化 カラー画像をN値化する方法について解説
2017.11.16 最も近い値の取得 指定値に最も近い配列の値を取得する方法を解説
2017.10.02 アルファ値(透過) アルファ値(透過)について

■広告

法人向けのETC専用カード

~約8,000名の受講生と80社以上の導入実績~ 企業向けプログラミング研修ならCodeCamp

日本最大級ショッピングサイト!お買い物なら楽天市場

Topへ