我只是想知道我是否正确地创建了该类的实例。还有什么方法可以测试instances
的{{1}}。我试图在我的class
方法中执行System.out.println(Toddler.getAge())
,但我不断获得main
。
error
答案 0 :(得分:1)
您没有提到在Toddler.getAge()
方法中使用main
的方式。
但是根据Person
类的代码,你必须像这样使用它:
System.out.println(Person.createToddler("Tahir", 25).getName());//for name
System.out.println(Person.createToddler("Tahir", 25).getName());//for age
此代码正确打印年龄和名称。
Person.createToddler("Tahir", 25)
返回Person
类实例,然后使用它可以调用任何非静态方法。
答案 1 :(得分:0)
为了检查对象是否是正确类的实例,您可以使用instanceof
运算符,如: -
Person p = new Person();
System.out.print(p instanceof Person) ; // will return true if p is an instance of Person
此外,如果您正在执行Toddler.getAge()
(上面未提供幼儿代码),如果getAge()
不是静态方法,则可能无效。您需要有Toddler
类的实例才能在其上调用getAge()
。
public int getAge()
应该是符合此new Toddler().getAge()
OR
public static int getAge()
应该是使Toddler.getAge()
工作的签名。
答案 2 :(得分:0)
Person aToddler = Person.createToddler();
Person aTeen = Person.createTeenager();
Person aPerson = new Person("me", 292);// using a constructor
System.out.println(aPerson.getAge());
请注意我的代码中的创建小孩调用没有参数?您的创建学步方法应该没有参数,因为答:A。您没有使用它们,而B.他们不再需要该方法(可能需要名称)。
如何使用您提供的代码创建实例变量。希望这有帮助!