当前位置: 代码迷 >> 综合 >> 八:引用传递实际应用
  详细解决方案

八:引用传递实际应用

热度:80   发布时间:2024-03-09 21:08:57.0

          引用传递在开发与涉及当中是最为重要的技术组成。

1、类关联结构

          简言之,将两个独立的类进行关联,即,人是一个单独的人,车是一个单独的类,那么当人有了车后,就可以在人的类中调取车的信息;车有了车主后,那么可以通过车的信息找到车主的信息。

          实现代码如下:

package com.lxh.test1;class Person {private String name;private Integer age;private String address;private Car car;public Person(String name, Integer age, String address) {super();this.name = name;this.age = age;this.address = address;}public Car getCar() {return car;}public void setCar(Car car) {this.car = car;}public String getName() {return name;}public void setName(String name) {this.name = name;}public Integer getAge() {return age;}public void setAge(Integer age) {this.age = age;}public String getAddress() {return address;}public void setAddress(String address) {this.address = address;}@Overridepublic String toString() {return "Person [name=" + name + ", age=" + age + ", address=" + address + "]";}}class Car {private String carName;private Integer carNum;private Person person;public Car(String carName, Integer carNum) {super();this.carName = carName;this.carNum = carNum;}public Person getPerson() {return person;}public void setPerson(Person person) {this.person = person;}public String getCarName() {return carName;}public void setCarName(String carName) {this.carName = carName;}public Integer getCarNum() {return carNum;}public void setCarNum(Integer carNum) {this.carNum = carNum;}@Overridepublic String toString() {return "Car [carName=" + carName + ", carNum=" + carNum + "]";}}public class demo1 {public static void main(String[] args) {// 1、先各自声明对象Person person = new Person("大王", 30, "北京");Car car = new Car("宾利", 88888);// 2、然后设置关系person.setCar(car);System.out.println(person);System.out.println(person.getCar());car.setPerson(person);System.out.println(car.getPerson());}}

2、自身关联

          自身关联的类指的是一个类可以在成员属性的位置引用本身类。

package com.lxh.test1;class Person {private String name;private Integer age;private String address;private Car car;private Person child[];// 一个人会有多个孩纸public Person(String name, Integer age, String address) {super();this.name = name;this.age = age;this.address = address;}public Person[] getChild() {return child;}public void setChild(Person[] child) {this.child = child;}public Car getCar() {return car;}public void setCar(Car car) {this.car = car;}public String getName() {return name;}public void setName(String name) {this.name = name;}public Integer getAge() {return age;}public void setAge(Integer age) {this.age = age;}public String getAddress() {return address;}public void setAddress(String address) {this.address = address;}@Overridepublic String toString() {return "Person [name=" + name + ", age=" + age + ", address=" + address + "]";}}class Car {private String carName;private Integer carNum;private Person person;public Car(String carName, Integer carNum) {super();this.carName = carName;this.carNum = carNum;}public Person getPerson() {return person;}public void setPerson(Person person) {this.person = person;}public String getCarName() {return carName;}public void setCarName(String carName) {this.carName = carName;}public Integer getCarNum() {return carNum;}public void setCarNum(Integer carNum) {this.carNum = carNum;}@Overridepublic String toString() {return "Car [carName=" + carName + ", carNum=" + carNum + "]";}}public class demo1 {public static void main(String[] args) {// 1、先各自声明对象Person person = new Person("大王", 30, "北京");Person childA = new Person("小王1", 12, "北京");Person childB = new Person("小王2", 11, "北京");// 一个人有多个孩子// 每个孩纸有车childA.setCar(new Car("bmw", 6666));childB.setCar(new Car("bmw2", 7777));person.setChild(new Person[] { childA, childB });Car car = new Car("宾利", 88888);// 2、然后设置关系person.setCar(car);car.setPerson(person);System.out.println(car.getPerson().toString());System.out.println(person.getCar().toString());// 根据人找到所有的孩纸以及孩纸对应的汽车for (int x = 0; x < person.getChild().length; x++) {// 得到大王的孩纸信息System.out.println(person.getChild()[x]);// 得到大王的孩纸拥有的车的信息System.out.println("\t" + person.getChild()[x].getCar());}}}

 

3、合成设计模式

          描述电脑组成的类。电脑的组成有显示器和主机,而主机需要一些硬件,具体设计如下:

class 电脑 {private 显示器 对象数组[];// 一个电脑一个有多个显示器private 主机 对象;}class 显示器 {}class 主机 {private 主板 对象1;private 鼠标 对象2;private 键盘 对象3;}class 主板 {private 内存 对象数组4[];private CPU 对象数组3[];private 显卡 对象数组2[];private 硬盘 对象数组1[];}class 内存 {}class 键盘 {}class 鼠标 {}class CPU {}class 显卡 {}class 硬盘 {}

 

  相关解决方案