说明:为Person编写一个静态方法createAdult,它返回此类的特殊实例。该实例代表一名普通成年人,名称为“成人”,年龄为21岁。
人是班级名称 name是一个String变量private Age是一个int变量private
这就是我创造的,这是它所要求的吗?它要求的不仅仅是我提供的吗?
public static void createAdult(String name, int age)
{
name = "An Adult";
age = 21;
}
答案 0 :(得分:4)
我无法帮助你完成你的同事,所以让我试着解释一下。
要求是: -
返回此类的特殊实例。 你的方法如何返回任何东西?如果声明为void,则表示您的方法没有返回任何内容。
实例表示名称和年龄,因此您必须在静态方法中返回该类的实例。使用这些值创建新实例。
答案 1 :(得分:2)
没有。如问题的第一行所述,您必须创建该类的实例(使用new
关键字),然后将这些值分配给它,然后将其返回。
很可能会有Person
的构造函数,它会做你想要的,如:
Person newPerson = new Person ("paxdiablo", 46)'; // A rare admission :-)
静态方法未附加到实例,因此除非您创建对象,否则无法设置对象的字段。
This page涵盖了对象的实例化。 This page涵盖工厂方法(这是你在这里尝试做的事情 - “工厂”是一种能够根据需要构建对象并将它们还给你的设备,与你自己创建它们不同)。 / p>
例如,如果你查看上面的第二个链接,你会发现:
public static ComplexNumber valueOf (float aReal, float aImaginary) {
return new ComplexNumber (aReal, aImaginary);
}
这是一个经典的工厂方法,一个可以调用的静态函数:
ComplexNumber c = ComplexNumber.valueOf (0, 1); // sqrt(-1)
这将为您的规范创建一个对象。
答案 2 :(得分:0)
如果您只是代码是您提供给我们的代码那么不,它将无法正常工作。您无法在代码中指定姓名和年龄。
答案 3 :(得分:0)