Java オブジェクトのデータ フィールド
パブリック データおよびプライベート データへのアクセス
Java® クラスは、パブリック アクセスまたはプライベート アクセスをもつ "フィールド" と呼ばれるメンバー変数を含むことができます。
コードが読み取りや変更を直接行うことができる "パブリック" データ フィールドにアクセスするには、次の構文を使用します。
object.field
"プライベート" データ フィールドの読み取りおよび変更 (許可されている場合) を行うには、Java クラスで定義される "アクセサー" メソッドを使用します。これらのメソッドは、get メソッドおよび set メソッドと呼ばれることがあります。
たとえば、java.awt.Frame
クラスにはプライベートとパブリックの両方のデータ フィールドがあります。読み取りアクセサー メソッド getSize
は java.awt.Dimension
オブジェクトを返します。
frame = java.awt.Frame; frameDim = getSize(frame)
frameDim = java.awt.Dimension[width=0,height=0]
Dimension
クラスには、パブリック データ フィールド height
と width
があります。height
の値を表示します。
height = frameDim.height
height = 0
width
の値を設定します。
frameDim.width = 42
frameDim = java.awt.Dimension[width=42,height=0]
Java オブジェクトのパブリック データ フィールドの表示
Java オブジェクトのパブリック フィールドをリストするには、関数 fieldnames
を呼び出します。たとえば、Integer
オブジェクトを作成してフィールド名を表示します。
value = java.lang.Integer(0); fieldnames(value)
ans = 'MIN_VALUE' 'MAX_VALUE' 'TYPE' 'SIZE'
データ フィールドの詳細情報を表示するには、以下を入力します。
fieldnames(value,'-full')
ans = 'static final int MIN_VALUE' 'static final int MAX_VALUE' 'static final java.lang.Class TYPE' 'static final int SIZE'
静的フィールド データへのアクセス
"静的データ フィールド" はオブジェクトのクラス全体に適用されるフィールドです。静的フィールドにアクセスするには、クラス名を使用します。たとえば、Integer
クラスの TYPE
フィールドを表示します。
thisType = java.lang.Integer.TYPE
thisType = int
あるいは、クラスのインスタンスを作成します。
value = java.lang.Integer(0); thatType = value.TYPE
thatType = int
MATLAB® では、クラス名を使用した静的フィールドへの代入はできません。値を代入するには、クラスの静的な set
メソッドを使用するか、クラスのインスタンスを作成します。たとえば、java.className
のインスタンスを作成して、以下の staticFieldName
フィールドに value
を代入します。
objectName = java.className; objectName.staticFieldName = value;