Классы 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;