class Message {
private int num = 10;
public Message(int num) {
this.num = num;
}
public void setNum(int num) {
this.num = num;
}
public int getNum() {
return this.num;
}
}
public class MainClass {
public static void main(String[] args) {
Message msg = new Message(30);
fun(msg);
System.out.println(msg.getNum());
}
public static void fun(Message temp) {
temp.setNum(100);
}
}
public class MainClass {
public static void main(String[] args) {
String msg = "Hello";
fun(msg);
System.out.println(msg);
}
public static void fun(String temp) {
temp = "World";
}
}
要注意的只有一点,String类对象的内容一旦声明,对象内容的改变依靠的是引用地址的改变。
class Message {
private String info = "nihao";
public Message(String info) {
this.info = info;
}
public void setInfo(String info) {
this.info = info;
}
public String getInfo() {
return this.info;
}
}
public class MainClass {
public static void main(String[] args) {
Message msg = new Message("Hello");
fun(msg);
System.out.println(msg);
}
public static void fun(Message temp) {
temp.setInfo("World");
}
}
class Member {
private int midl;
private String name;
// car有实例化对象表示有车
// car为null表示没有车
private Car car; // 表示属于人的车
}
class Car {
private Member member; // 车属于一个人
private String pname;
}
需要注意的是Member和Car应该都是一个独立的对象,而后通过产生对象发生关系。
class Member {
private int mid;
private String name;
// car有实例化对象表示有车
// car为null表示没有车
private Car car; // 表示属于人的车
public Member(int mid, String name) {
this.mid = mid;
this.name = name;
}
public String getInfo() {
return "mid=" + this.mid + ", name=" + this.name;
}
}
class Car {
private Member member; // 车属于一个人
private String pname;
public Car(String pname) {
this.pname = pname;
}
public String getInfo() {
return "pname=" + this.pname;
}
}
当Member或Car类的对象产生之后,那么就应该为这两个对象设置彼此的关系。
class Member {
private int mid;
private String name;
// car有实例化对象表示有车
// car为null表示没有车
private Car car; // 表示属于人的车
public Member(int mid, String name) {
this.mid = mid;
this.name = name;
}
public String getInfo() {
return "mid=" + this.mid + ", name=" + this.name;
}
public void setCar(Car car) {
this.car = car;
}
public Car getCar() {
return this.car;
}
}
class Car {
private Member member; // 车属于一个人
private String pname;
public Car(String pname) {
this.pname = pname;
}
public String getInfo() {
return "pname=" + this.pname;
}
public void setMember(Member member) {
this.member = member;
}
public Member getMember() {
return this.member;
}
}
以上的程序类完成之后,下面需要对程序进行测试,但是程序的测试要求分两步;
第一步:根据定义的结构关系设置数据;
第二步:根据定义的结构关系取出数据;
public class MainClass {
public static void main(String[] args) {
// 第一步:设置数据
Member m = new Member(1, "Alpha"); // 独立对象
Car c = new Car("MK14L"); // 独立对象
m.setCar(c); // 一个人有一辆车
c.setMember(m); // 一辆车属于一个人
// 第二步:取出关系
// 通过人找到车的信息
System.out.println(m.getCar().getInfo());
// 通过车找到人的信息
System.out.println(c.getMember().getInfo());
}
}