Классы Java® могут содержать членские переменные под названием fields, который может иметь общедоступный или частный доступ.
Чтобы получить доступ к полям данных public, которые ваш код может считать или изменить непосредственно, используют синтаксис:
object.field
Чтобы читать из и, где позволено, изменить поля данных private, используют методы accessor, заданные классом 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'
static data field является полем, которое применяется к целому классу объектов. Чтобы получить доступ к статическим полям, используйте имя класса. Например, отобразите 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.
objectName = java.className; objectName.staticFieldName = value;