Main Content

Java オブジェクトのデータ フィールド

パブリック データおよびプライベート データへのアクセス

Java® クラスは、パブリック アクセスまたはプライベート アクセスをもつ "フィールド" と呼ばれるメンバー変数を含むことができます。

コードが読み取りや変更を直接行うことができる "パブリック" データ フィールドにアクセスするには、次の構文を使用します。

object.field

"プライベート" データ フィールドの読み取りおよび変更 (許可されている場合) を行うには、Java クラスで定義される "アクセサー" メソッドを使用します。これらのメソッドは、get メソッドおよび set メソッドと呼ばれることがあります。

たとえば、java.awt.Frame クラスにはプライベートとパブリックの両方のデータ フィールドがあります。読み取りアクセサー メソッド getSizejava.awt.Dimension オブジェクトを返します。

frame = java.awt.Frame;
frameDim = getSize(frame)
frameDim =

java.awt.Dimension[width=0,height=0]

Dimension クラスには、パブリック データ フィールド heightwidth があります。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;

参考