数组元素为类,为元素赋值前需实例化

阅读 53

2022-04-26

public class Main {
    public static void main(String[] args) {
        Person[] p = new Person[3];
        p[0].name = "zhangsan";
        p[0].age = 18;
        p[1].name = "lisi";
        p[1].age = 20;
        p[2].name = "wangwu";
        p[2].age = 22;
        for (int i = 0; i < p.length; i++) {
            System.out.println(p[i]);
        }
    }
}

class Person {
    private String name;
    private int age;

    public Person(String name, int age) {
        super();
        this.name = name;
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}

参考代码如下:

public class Main {
    public static void main(String[] args) {
        Person[] p = new Person[3];//为Person[]数组实例化
        for(int i=0;i<p.length;i++){//因为数组元素为Person类,所以还要为数组元素实例化
            p[i] = new Person();
        }
        p[0].name = "zhangsan";
        p[0].age = 18;
        p[1].name = "lisi";
        p[1].age = 20;
        p[2].name = "wangwu";
        p[2].age = 22;
        for (int i = 0; i < p.length; i++) {
            System.out.println(p[i]);
        }
    }
}
class Person {
    public String name;//定义为public,可以通过对象名调用
    public int age;
    public String toString(){
        return name+" "+age;
    }
    public Person(){
        
    }
    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}

精彩评论(0)

0 0 举报