Правильно я понимаю вопрос?

 
 
 
Сообщения:879
It (field value) can be read and modified from any class within the same package.

Раз) Смотрим сюда:
https://docs.oracle.com/javase/tutorial/java/javaOO/variables.html
Member variables in a class—these are called fields.

Два) Смотрим сюда (замечаем, что в вопросе не говорится о class variable):
https://en.wikipedia.org/wiki/Member_variable
In object-oriented programming, a member variable (sometimes called a member field) is a variable that is associated with a specific object



Вывод - field это переменная экземпляра класса, т.е. в вопросе идет речь об экземпляре класса.

Три) Это тот же Раз
In the spirit of encapsulation, it is common to make fields private. This means that they can only be directly accessed from the Bicycle class. We still need access to these values, however. This can be done indirectly by adding public methods that obtain the field values for us

Здесь говорится о доступе к полю из класса, в таком же контексте - это утверждение истинно.
 
 
Сообщения:21
keekkenen:
Gentleman:
Хватит дурить мне мозги.

ты это делаешь сам называя вещи не своими именами
Gentleman:
Не трать моё время, если не понимаешь о чем речь.

я, конечно, могу сильно ошибаться, поскольку всего пару лет пишу на java

doonay:
Короче, я думаю, что первый вариант ответа верный и дело даже не в модификаторе доступа а в статике, точнее в отсутствии его

довольно непонятное объяснение

doonay:
Which of the following statements are correct regarding the field value?

в вопросе не сказано, что утверждения могут как-то дополнять/взаимоисключать друг друга, то есть они должны рассматриваться абсолютно независимо

doonay:
It cannot be accessed from any other class.

доступ возможен из некоторых других классов, поэтому утверждение неверно, что доступ невозможен из ЛЮБЫХ других, потому что из каких-то есть из каких-то нет

doonay:
It can be read but cannot be modified from any other class.

очевидно, что это также неверно, так как доступ либо есть, либо нет одновременно на чтение и запись

doonay:
It can be modified but only from a subclass of MyClass.

очевидно, что это также неверный ответ, потому что поле можно менять из самого MyClass, а в утверждении идет речь о ТОЛЬКО наследниках

doonay:
It can be read and modified from any class within the same package

очевидно, что это тоже неверный ответ, потому как никакие классы не могут получить доступ к этому полю
можно решить что этот ответ неправильный если посмотреть на такой код
package util;

public class Test5 {
	protected int value = 10;
}


package util;

public class Test {
	void test() {
		Test5 instance = new Test5();
		int value = instance.value;
	}
}


можно решить, что получили доступ к полю value класса Test5, но это не так, потому что instance это не класс, это объект класса созданный на основе класса,
а обращение instance.value это доступ к полю, это доступ к переменной класса

так что если придерживаться общепринятой терминологии, где классы и поля это синтаксические конструкции - суть исходный код,
и то, что из них получается в результате создания объектов - это объект и переменная класса (данный случай) - все утверждения неверны
 
 
Сообщения:21
keekkenen:
все утверждения неверны

Всё понятно, что ничего не понятно.
Однако же один (и только лишь) верный вариант в этом вопросе требуется выбрать, поэтому его не может не быть.
 
 
Сообщения:441
Роман Осипов:
Вывод - field это переменная экземпляра класса, т.е. в вопросе идет речь об экземпляре класса.

если так, то получается термин поле используется одновременно для класса и для экземпляра класса, но эти вещи имеют разный смысл, разве нет ?
называя разные вещи одним именем это несколько путает
 
 
Сообщения:879
keekkenen:
если так, то получается термин поле используется одновременно для класса и для экземпляра класса, но эти вещи имеют разный смысл, разве нет ?
называя разные вещи одним именем это несколько путает


Нет, для класса используется термин static field.
https://docs.oracle.com/javase/tutorial/java/javaOO/classvars.html
Fields that have the static modifier in their declaration are called static fields or class variables.

Если имеется ввиду исходный код класса, то это будет field declaration.

https://www.oracle.com/technetwork/java/javase/documentation/codeconventions-141855.html#1852
3.1.3 Class and Interface Declarations
Изменен:31 мая 2019 10:54
 
Модераторы:Нет
Сейчас эту тему просматривают:Нет