我开始学习Java,当我可以到达对象名称和lastName时遇到了这个问题,但是如果将它们放在对象数组中就无法到达。
public class Human {
String name;
String lastName;
String[] people;
People(String name, String lastName) {
this.name = name;
this.lastName = lastName;
};
public static People tom = new People("Tom", "Tommy");
public static People ted = new People("Ted", "Teddy");
public static Object[] objects = {
tom,
ted
};
public static void main(String[] args) {
System.out.println(tom.lastName);
System.out.println(objects[0]);
我需要的这条线不起作用。
System.out.println(objects[0].lastName);
}
最佳答案
简单:您声明了对象类型的数组。
对象没有名称,只有People实例具有名称!
换句话说:您要声明一个People数组,而不是Object数组。
您会看到,编译器仅“记住”该变量声明左侧使用的类型。它不知道您实际上创建了一个Object数组,并且仅将People实例放置在该数组中。
和无关:人意味着复数。您应该将该类称为Person或PersonInfo。