Java 我是否正确设置了此静态方法?
说明:为Person编写一个静态方法create成人,返回此类的特殊实例。该实例表示一个普通成人,名称为“成人”,年龄为21岁 Person是类名 name是一个字符串变量private 年龄是一个整数变量 这就是我创造的,这就是它所要求的吗?它要求的比我提供的更多吗Java 我是否正确设置了此静态方法?,java,class,methods,static-methods,Java,Class,Methods,Static Methods,说明:为Person编写一个静态方法create成人,返回此类的特殊实例。该实例表示一个普通成人,名称为“成人”,年龄为21岁 Person是类名 name是一个字符串变量private 年龄是一个整数变量 这就是我创造的,这就是它所要求的吗?它要求的比我提供的更多吗 public static void createAdult(String name, int age) { name = "An Adult"; age = 21; } 否。正如问题的第一行所述,您必须创建类的实例(使
public static void createAdult(String name, int age)
{
name = "An Adult";
age = 21;
}
否。正如问题的第一行所述,您必须创建类的实例(使用
new
关键字),然后将这些值分配给它,然后返回它
很可能会有一个Person
的构造函数,它将执行您想要的操作,例如:
Person newPerson = new Person ("paxdiablo", 46)'; // A rare admission :-)
静态方法未附加到实例,因此除非创建对象的字段,否则无法设置对象的字段
介绍对象的实例化。介绍工厂方法(这就是您在这里尝试做的事情——“工厂”是一种能够根据需要构建对象并将其返回给您的设备,与您自己创建对象不同)
例如,如果您查看上面的第二个链接,您将发现:
public static ComplexNumber valueOf (float aReal, float aImaginary) {
return new ComplexNumber (aReal, aImaginary);
}
这是一种典型的工厂方法,是一种静态函数,您可以使用以下方法调用:
ComplexNumber c = ComplexNumber.valueOf (0, 1); // sqrt(-1)
这将创建一个符合您规范的对象。我无法帮助您完成您的工作,所以让我试着解释一下 这些要求是:-
- 返回该类的特殊实例。 您的方法如何返回任何内容?如果声明为void,则意味着您的方法没有返回任何内容
- 实例表示名称和年龄,因此必须在静态方法中返回该类的实例。使用这些值创建一个新实例
- 方法create成人应该只返回类的实例李>
- 有了虚空,你将一无所获
- 名称和年龄应该在类中,而不是在方法中
xyzy
,则静态方法称为xyzy.staticMethod()代码>。非静态代码称为xyzy plugh=new xyzy();plugh.nonStaticMethod()代码>。