Классы Java® могут содержать названные поля переменных участника, которые могут иметь общедоступный или частный доступ.
Чтобы получить доступ к общедоступным полям данных, которые ваш код может считать или изменить непосредственно, используют синтаксис:
object.field
Чтобы читать из и, где позволено, изменить частные поля данных, используют методы доступа, заданные классом Java. Эти методы иногда упоминаются, как добираются и методы установки.
Например, класс 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, вызовите функцию 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'
Статическое поле данных является полем, которое применяется к целому классу объектов. Чтобы получить доступ к статическим полям, используйте имя класса. Например, отобразите поле TYPE
класса Integer
.
thisType = java.lang.Integer.TYPE
thisType = int
Также создайте экземпляр класса.
value = java.lang.Integer(0); thatType = value.TYPE
thatType = int
MATLAB® не позволяет присвоение на статические поля с помощью имени класса. Чтобы присвоить значение, используйте статический метод set
класса или создайте экземпляр класса. Например, присвойте value
следующему полю staticFieldName
путем создания экземпляра java.className
className .
objectName = java.className; objectName.staticFieldName = value;