/**
* @author CSZ
* @create 2021-04-2021/4/9 14:31
*/
class Man{
private int hands;
private String eyes;
private int legs;
private String head;
public Man() {
}
public Man(int hands, String eyes, int legs, String head) {
this.hands = hands;
this.eyes = eyes;
}
public int getHands() {
return hands;
}
public void setHands(int hands) {
this.hands = hands;
}
public String getEyes() {
return eyes;
}
public void setEyes(String eyes) {
this.eyes = eyes;
}
}
class Woman{
private int children;
public Woman() {
}
public Woman(int children) {
this.children = children;
}
public void setChildren(int children){
this.children = children;
}
public int getChildren(){
return children;
}
}
class Human{
Man man;
Woman woman;
public Man getMan() {
return man;
}
public void setMan(Man man) {
this.man = man;
}
public Woman getWoman() {
return woman;
}
public void setWoman(Woman woman) {
this.woman = woman;
}
public Human(Man man, Woman woman) {
this.man = man;
this.woman = woman;
}
}
public class ObjectTest {
public static void main(String[] args) {
Human human = new Human(new Man(), new Woman());// 新建了一个 human
Man man = human.getMan(); // 获取human 中的 man
System.out.println("打印对象地址" + man);
System.out.println("设置属性");
man.setEyes("两只大眼睛"); // 设置了属性 但是地址引用还是同一个
System.out.println("再次打印地址值" + man);
System.out.println(human.getMan().getEyes());
System.out.println("==================================================");
Human human1 = new Human(new Man(),new Woman());
System.out.println("新创建的human1 " + human1);
Woman woman = new Woman(50);
System.out.println("新创建的woman1 "+ woman);
System.out.println("human1中的Woman" + human1.getWoman());
System.out.println("将新创建的对象保存到human1中");
human1.setWoman(woman);
System.out.println("更新信息后human1 "+human1);
System.out.println(human1.getWoman().getChildren());
}
}
在注入时有两种方式:
- 通过获取到实例对象,修改对象的属性,再用Human 获取内部信息,同理啊,也可能时保存操作,save()。
- 通过创建一个新的实例对象,通过调用 Human的set方法,也可以实现,对Human的修改。