トップ 新規 一覧 検索 ヘルプ RSS ログイン

Javaの文法:ローカル変数とメンバ変数の変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
!!!ローカル変数とメンバ変数
!!変数のスコープ
:スコープ:変数の有効範囲、その変数が利用できる範囲
*Javaにおけるフィールドは基本的に{}の間
*Javaにおけるスコープは基本的に{}の間
{{ref_code Scope.java:utf8,,Java,4}}
*今まで出てきた変数→ローカル変数
*クラス内でメソッドの外→メンバ変数(フィールド、グローバル変数)
!!メンバ変数
*
!メンバ変数のあるクラスの一般的な例
 <修飾子> class <クラス名> {
 	<修飾子> <変数の型> <変数名>;
 }
!クラス変数
*変数の修飾子としてstatcキーワードを付与することで、クラス自体に付随するフィールドとなる
*同じクラスからインスタンス化された全てオブジェクトで共通の変数となる
*インスタンス化しなくてもアクセスできる
*Eclipseでは斜体で表示されるため、クラス変数が区別しやすい
{{ref_code ClassVariable.java:utf8,,Java,4}}
*インスタンス化された各オブジェクトからもクラス変数にはアクセスできるが、インスタンス変数と区別がつきにくくなるため、<オブジェクト名>.<クラス変数>ではなく<クラス名>.<クラス変数>としてアクセスする。
**Eclipseでは「staticフィールドにはstaticアクセスする必要があります」という警告が出る

!インスタンス変数
{{ref_code InstanceVariable.java:utf8,,Java,4}}
!!特殊な変数:this
*インスタンス化されたオブジェクト自身を示す変数。
!!フィールドの例
{{ref_code Ranger.java:utf8,,Java,4}}
!!課題
+5レンジャーのプログラムで、「茶レンジャー」の年齢を表示するようにプログラムを修正しなさい。