java显示类方法中的类对象
我创建了类Person,它由类Student和Employee扩展(由其他Employee类型的类扩展)。person类看起来像:
String name;
int ssn;
int age;
String gender;
String address;
String PNumber;
static int count;
//empty constructor
public Person(){
count++;
}
//print count
public static void printCount(){
System.out.println("The number of people is: "+ count);
}
//constructor with name
public Person(String name){
this.name = name;
count++;
}
/*constructor to create default person object*/
public Person(String name, int ssn, int age, String gender, String address, String PNumber)
{
this.name = name;
this.ssn = ssn;
this.age = age;
this.gender = gender;
this.address = address;
this.PNumber = PNumber;
count++;
}
我目前正在尝试创建一种方法,可以显示所有性别为“男”的人。我有:
//display Males
public void print(String gender){
if(this.gender.contentEquals(gender)){
//print out person objects that meet this if statement
}
}
我不确定如何在方法中引用对象(学生和员工都是人)来返回它们。我也不知道如何在主方法中引用这个方法。我不能用人。打印,但如果我使用
Person james = new Person();
然后使用
james.print("Males");
我只返回james(在这种情况下,该方法没有意义)
感谢您的帮助
# 1 楼答案
首先,打印方法应该变成静态方法。它独立于每个单独的Person对象,因此将其设置为静态将允许您在main方法中调用它
要在print方法中引用Person对象,需要将Person对象的集合作为参数传递给它。您应该将Person的所有实例保存在一个数组中,并在调用它时将其传递到print方法中。那么打印方法就可以
通过这种修改,您应该从main方法调用它,如下所示:
其中people是保存所有Person对象的数组