Java从入门到精通—数组【类的自身关联】(引用传递应用二)
示例代码
【Car .java】
package Reference_application_2;
public class Car {
String name;
int price;
Person person;
public Car(String name,int price){
this.name=name;
this.price =price;
}
//setter、getter、 略
public String getInfo(){
return "汽车的品牌型号:"+this.name+" ;它的价格是:"+this.price;
}
public Person getPerson() {
return person;
}
public void setPerson(Person person) {
this.person = person;
}
}
【Person .java】
package Reference_application_2;
public class Person {
private String name;
private int age;
private Car car; //一个人有多辆车
private Person children[]; //一个人有多个孩子
public Person(String name,int age){
this.age=age;
this.name=name;
}
public Person[] getChildren() {
return children;
}
public void setChildren(Person[] children) {
this.children = children;
}
public String getInfo(){
return "人的名字是:"+this.name+" ;年龄为:"+this.age;
}
//setter、getter省略
public Car getCar() {
return car;
}
public void setCar(Car car) {
this.car = car;
}
}
【Application .java】
package Reference_application_2;
public class Application {
public static void main(String[] args) {
Person person = new Person("张三",20);
Car car = new Car("保时捷",200000);
person.setCar(car);
car.setPerson(person);
//对吴硕的孩子实例化并操作
Person childA = new Person("张三 二儿子",18);
Person childB = new Person("张三 大儿子",19);
childA.setCar(new Car("BMW X1",100000)); //匿名对象
childB.setCar(new Car("法拉利",200000));
person.setChildren(new Person[]{childA,childB}); //一个人有多个孩子
//根据关系获取数据
System.out.println(person.getCar().getInfo());
System.out.println(car.getPerson().getInfo());
//根据人找到所有的孩子以及对应的汽车
for(int x=0;x<person.getChildren().length;x++){
System.out.println("\t|-"+person.getChildren()[x].getInfo());
System.out.println("\t\t|-"+person.getChildren()[x].getCar().getInfo());
}
}
}
【运行结果】
喜欢的话记得点赞收藏哟😊
Java从入门到精通博文专栏持续更新!