引用传递是整个java项目中最为核心的内容,同时也是在实际开发中最为常见的一种操作,在了解数组的概念后,就可以基于此概念与简单java类实现一些显示的事物关系模型。
先通过案例来了解下,比如说,在现实的开发意义上,类是可以描述一类事物共性的结构体,现在假设要描述出这样的一种关系:一个人拥有一辆汽车,此时就需要定义两个类:person和car,随后通过引用的形式配置彼此的关联关系。
这是一个car类
public class Car { //描述汽车
private String name; //汽车名称
private double price; //汽车价值
private Person person; //车应该属于一个人
public Car(String name, double price) { //构造传入汽车信息
this.name = name;
this.price = price;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
public Person getPerson() {
return person;
}
public void setPerson(Person person) {
this.person = person;
}
public String getInfo() { //获取汽车信息
return "汽车品牌型号:" + this.name + "、汽车价值:" + this.price;
}
}
这是一个person类
public class Person { //描述人
private String name; //人的名称
private int age; //人的年龄
private Car car; //一个人有一辆车,如果没有车则为null
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;
}
public Car getCar() {
return car;
}
public void setCar(Car car) {
this.car = car;
}
public String getInfo() { //获取人员信息
return "姓名:" + this.name + "、年龄 :" + this.age;
}
}
在测试中的代码为:
public class JavaDemo {
public static void main(String[] args) {
Car car = new Car("奔驰",450000); //实例化car对象
Person per = new Person("阿飞",28); //实例化person对象
per.setCar(car); //一个人有一辆车
car.setPerson(per); //一个车属于一个人
System.out.println(per.getCar().getInfo()); //通过人获取汽车信息
System.out.println(car.getPerson().getInfo()); //通过汽车获取拥有人的信息
}
}
其运行的结果图为:
本程序定义了两个简单的类,并且在两个类的内部分别设置一个自定义的引用类型(person类提供car成员属性,car类提供person成员属性),用于描述两个类之间的引用联系,在主类操作时首先根据两个类的关系设置了引用关系,随后就可以根据引用关系依据某一个类对象获取相对相应信息。