Поля данных объектов Java

Доступ к общедоступным и локальным данным

Java® классы могут содержать представителей переменных вызываемые fields, которые могут иметь открытый или частный доступ.

Для доступа к public полям данных, которые ваш код может читать или изменять непосредственно, используйте синтаксис:

object.field

Чтобы прочитать и, где разрешено, изменить private поля данных, используйте методы accessor, определенные классом 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]

The 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'

Доступ к статическим данным о полях

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;

См. также