当前位置: 首页 > 知识库问答 >
问题:

显示类方法中的类对象

陆和泰
2023-03-14

我创建了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++;
}

我目前正在尝试创建一个方法,它将显示所有的人,如果他们是gender=“male”。我有:

//display Males
public void print(String gender){ 
    if(this.gender.contentEquals(gender)){
        //print out person objects that meet this if statement
    }
}

我不确定如何引用方法中的对象(学生和雇员,它们都是persons)来返回它们。而我也不知道在主法中如何引用这个方法。我不能用个人打印,但如果我用

Person james = new Person(); 

然后使用

james.print("Males"); 

我只是返回james(这个方法在那个上下文中没有意义)。

感谢任何帮助。

共有1个答案

羊刚捷
2023-03-14

首先,要将print方法做成静态方法。它独立于每个单独的Person对象,因此将它设置为静态将允许您在main方法中调用它为

Person.print("Male");

要在print方法中引用Person对象,您将需要将Person对象的集合作为参数传递给它。您应该将Person的所有实例保存在一个数组中,并在调用它时将其传递到print方法中。则打印方法可以是

public static void print(String gender, Person[] people) {
    for(Person x : people)
        if (x.gender.equals(gender))
            //print the person
}

通过此修改,您应该从main方法调用它

Person.print("Male", people);

其中people是保存所有Person对象的数组。

 类似资料:
  • 12.8. 显示一个类型的方法集 我们的最后一个例子是使用reflect.Type来打印任意值的类型和枚举它的方法: gopl.io/ch12/methods // Print prints the method set of the value x. func Print(x interface{}) { v := reflect.ValueOf(x) t := v.Type()

  • LED点阵屏幕 小程的屏幕是由128颗LED组成的点阵,可以显示英文字符、数字与图案。 坐标示意图 如上图所示,表情面板以左上角为坐标 0 点, x ,y 的方向如箭头示意。参数有效范围: x:-15 ~ 15 y:-7 ~ 7 1. 显示图案()()秒 在小程的屏幕上显示图案,持续一段时间后熄灭。图案和时间由用户自定义,鼠标单击可修改,默认值如下: 示例: 当按下按钮A时,小程的屏幕会依次显示这

  • 8×16 蓝色LED点阵

  • 8×16 蓝色LED点阵

  • 数码管模块 灯条 表情面板模块 RGB灯模块 2.4吋TFT显示屏模块

  • 我需要一些关于Woocommerce类别显示选项的帮助。在Wordpress仪表板中,我按照以下链接全局设置类别显示选项<外观- 有三种显示选项可用。 展示产品 目前,选择了第三个选项,它显示子类别以及父类别和子类别下的所有产品。但是,我想排除子类别下的所有产品。换句话说,我只想在父类别下显示子类别和产品。 我在几个教程网站上找到了以下片段。代码完全按照我想要的方式工作,但它也禁用了管理产品搜索和