第5回独習Javaゼミ 第5章 セクション5~7 発表者 直江 宗紀 5.5 thisキーワード(1) thisキーワード 実行中のオブジェクトを指す インスタンス変数の参照にも用いられる コンストラクタから同クラスの別コンストラクタ呼出 インスタンス変数の参照例 this.varName (varName:インスタンス変数名) 5.5 thisキーワード(2) コンストラクタ呼出例 this(args) args:引数列 ただし、コンストラクタ先頭行のみ使用可 →他行の場合、コンパイルエラー 5.5 thisキーワード(3) 使用例 class Ex{ double x,y ; Ex(double x){ this(x,0) ; //下のコンストラクタ呼出 } Ex(double x,double y){ this.x=x ;//Exクラスのインスタンス変数呼出 this.y=y ; } } 5.6 インスタンス変数と インスタンスメソッド(1) インスタンス変数 そのクラスのオブジェクトに関連付けされている 独立別オブジェクトへの影響は無い 宣言例 type varName ; type varName1,varName2,…,varNameN ; varName,varName1~varNameN:変数名 type:変数のデータ型 5.6 インスタンス変数と インスタンスメソッド(2) インスタンス変数初期時→既定値代入される 宣言時の代入可 例: type varName1=expr1 ; type varName2=expr2,…,varNameN=exprN ; expr1,expr2,…,exprN:定数値又は定義値 5.6 インスタンス変数と インスタンスメソッド(3) インスタンスメソッド →オブジェクトに対して特定の操作を実行 宣言例 rtype mthName(mparams){ //メソッド本体 } rtype:戻り値型,mthName:メソッド名 mparams:パラメータ型リスト(省略可) 5.7 静的変数と静的メソッド(1) 静的変数 そのクラスの全てのオブジェクトから共有される クラスそのものと関連付けられている 静的メソッド 静的変数と同じくクラスに対して作用する 5.7 静的変数と静的メソッド(2) 静的変数宣言例 static type varName1 ; static type varName2,…,varNameN ; varName1,varName2,…,varNameN:変数名 type:変数のデータ型 5.7 静的変数と静的メソッド(3) 変数宣言時 →特に指定が無い場合、既定値が代入される 宣言時、任意の初期値代入可 例: static type varName1=expr1 ; static type varName2=expr2,…,varNameN=exprN ; expr1,expr2,…,exprN:定数値又は定義値 5.7 静的変数と静的メソッド(4) クラスをメモリロード時実行可のコードブロック →静的初期化ブロック 静的初期化ブロックの構文 class clsName { static{ // ステートメントのブロック } } 練習問題 1. 2. 3次元のx,y,z座標を扱うクラスを作成し、任意の座標 値を3つ用意し、加算するプログラムを作成せよ。与え る3次元座標3つのうち1つがxのみ,うち1つをx,y、 残った1つはすべての値を用意すること(引数が1つの 場合、2つの場合のオーバーロードコンストラクタを用 意し、3引数を扱うコンストラクタに纏まるようにするこ と)。 3次元正方行列を扱うクラスを用意し、転置を行うメ ソッドと、引数として定数値を与え、行列をその定数倍 を行うメソッドを用意して転置、定数倍を行うプログラ ムを作成せよ。用いるデータ値は任意とする。
© Copyright 2024 ExpyDoc