exponenta event banner

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

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

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

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

object.field

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

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'

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

Поле статических данных - это поле, которое применяется ко всему классу объектов. Для доступа к статическим полям используйте имя класса. Например, отобразите 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;

См. также