类关联结构
引用传递是JAVA开发与设计过程之中最为重要的技术组成。
引用分析案例一:
车和人的关系
在没有购买车之前,车、人分别为一个简单java类 完全独立的产物,因此划分为两个简单Java类
package AliJava;
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 this.name;
}
public void setName(String name) {
this.name = name;
}
public double getPrice() {
return this.price;
}
public void setPrice(double price) {
this.price = price;
}
public Person getPerson() {
return this.person;
}
public void setPerson(Person person) {
this.person = person;
}
public String getInfo(){
return "汽车品牌 " + this.name + " 价格 " + this.price;
}
}
class Person{
private String name;
private int age;
private Car car;//人拥有一辆车
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 CarAndPeople {
public static void main(String[] args) {
//声明彼此的关系
Person per1 = new Person("张城",21);
Car BYD = new Car("比亚迪",800000.00);
per1.setCar(BYD); //一个人有一辆车
BYD.setPerson(per1);//一辆车属于一个人
/*
* per1.getCar() getCar返回的是Car类型 所以可以直接调用该对象的相关方法 或者可以 实例化它 例如:
* Car c = per1.getCar(); c.getName();
* 也可以直接per1.getCar().getName()//代码链
*/
System.out.println(per1.getCar().getInfo()); //代码链
System.out.println(BYD.getPerson().getInfo());
}
}
本次操作的类型:Person,Car都是自定义类型,并且Person和Car都可以进行明确的描述某一类群体,以及他们特定的特征。