在Oracle教程中,它显示为:
“要访问某个字段,您可以使用对象的命名引用,如前面的示例所示,或者您可以使用任何返回对象引用的表达式。”
鉴于'field'是'class variable'的另一个名字;为什么要使用'对象的命名引用'?当然最好使用'命名引用类'?
重写看起来像这样: “要访问类变量,可以使用对象的命名引用,如前面的示例所示,或者您可以使用任何返回对象引用的表达式。”
当然,“对象的命名引用”将用于访问“对象变量”而不是“类变量”?
答案 0 :(得分:0)
我将“对象的命名引用”解释为“变量”。以下是the documentation中field
的定义:
班级的数据成员。除非另有说明,否则字段不是静态的。
因此,在以下示例中,book
是一个变量(“对象的命名引用”,books[0]
是“返回引用的表达式”,Title
是一个“场”:
public class Book
{
public string Title;
}
Book book = new Book();
book.Title = "Moby Dick"; // set field value
Book[] books = new Book[10];
books[0] = book;
string title = books[0].Title; // expression that returns an object reference.
答案 1 :(得分:-1)
鉴于'field'是'class variable'的另一个名字;为什么要使用'对象的命名引用'?当然最好使用'命名引用类'?
我不知道教程是否真的说明了这一点,但无论如何这都是错误的。 Java语言规范明确指出(强调我的):
字段声明(第8.3节)描述了一次实现的类变量和实例变量,这些变量是为类的每个实例新近实现的。
访问和/或修改这些实例变量,它们通过命名引用或每个返回对象引用的表达式为每个对象新化身,因此非常有意义。
如果教程确实陈述了与此相矛盾的内容,那就不正确了。