创建两个类,一个是Dog,一个是yaChi,里面各有两个属性,都用private封装起来,再设置带参的构造方法,再设置get,set方法
class Dog{
private String name;
private int age;
//将yachi对象当作这个类里面的属性,绑定对象关系
private yaChi yachi;
//为两个dog对象访问yachi对象提供set和get方法
public void setYaChi(yaChi yachi){
this.yachi=yachi;
}
public yaChi getYaChi(){
return yachi;
}
//构造方法
public Dog(){
}
public Dog(String name,int age){
this.name=name;
this.age=age;
}
//set get方法
public void setName(String name){
this.name=name;
}
public String getName(){
return name;
}
public void setAge(int age){
this.age=age;
}
public int getAge(){
return age;
}
}
class yaChi{
public yaChi(){}
public yaChi(String name,int age){
this.name=name;
this.age=age;
}
private String name;
private int age;
private Dog dog;
public void setDog(Dog dog){
this.dog=dog;
}
public Dog getDog(){
return dog;
}
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;
}
}
在Dog类里将yechi对象当成属性,最后再通过get,set方法获取值
相同的也在yaChi类里将dog对象当成属性,这样就可以实现对象双向一对一关系
class Dog{
private String name;
private int age;
//将yachi对象当作这个类里面的属性,绑定对象关系
private yaChi yachi;
//为两个dog对象访问yachi对象提供set和get方法
public void setYaChi(yaChi yachi){
this.yachi=yachi;
}
public yaChi getYaChi(){
return yachi;
}
}
class yaChi{
private String name;
private int age;
private Dog dog;
public void setDog(Dog dog){
this.dog=dog;
}
public Dog getDog(){
return dog;
}
}
在main方法中创建两个对象,触发构造方法
//创建两个对象,触发带参构造方法
Dog dog=new Dog("藏獒",18);
yaChi yachi=new yaChi("金刚齿",5);
再将两个对象关联起来
//把两个对象关联起来
dog.setYaChi(yachi);
yachi.setDog(dog);
通过dog对象调用getyaChi方法,将里面的属性值传给y对象
//通过对象来获取另一个对象
yaChi y=dog.getYaChi();
Dog w=yachi.getDog();
再将结果输出出来
System.out.println("我家狗叫"+w.getName()+"它"+w.getAge()+"岁了");System.out.println("狗的牙齿是"+y.getName()+y.getAge()+"厘米");
源码如下
public class test {
public static void main(String[] args) {
/* //触发无参构造方法
Dog dog=new Dog();
//触发带参构造方法
Dog dog1=new Dog("藏獒",18);
System.out.println("我家狗叫"+dog1.name+"它"+dog1.age+"岁了");
//使用get,set方法
dog.setName("牧羊犬");dog.setAge(28);
//String name=dog.getName();int age=dog.getAge();
System.out.println("我家狗叫"+dog.getName()+"它"+dog.getAge()+"岁了");*/
//创建两个对象,触发带参构造方法
Dog dog=new Dog("藏獒",18);
yaChi yachi=new yaChi("金刚齿",5);
//把两个对象关联起来
dog.setYaChi(yachi);
yachi.setDog(dog);
//通过对象来获取另一个对象
yaChi y=dog.getYaChi();
Dog w=yachi.getDog();
System.out.println("我家狗叫"+w.getName()+"它"+w.getAge()+"岁了");System.out.println("狗的牙齿是"+y.getName()+y.getAge()+"厘米");
}
}
class Dog{
private String name;
private int age;
//将yachi对象当作这个类里面的属性,绑定对象关系
private yaChi yachi;
//为两个dog对象访问yachi对象提供set和get方法
public void setYaChi(yaChi yachi){
this.yachi=yachi;
}
public yaChi getYaChi(){
return yachi;
}
//构造方法
public Dog(){
}
public Dog(String name,int age){
this.name=name;
this.age=age;
}
//set get方法
public void setName(String name){
this.name=name;
}
public String getName(){
return name;
}
public void setAge(int age){
this.age=age;
}
public int getAge(){
return age;
}
}
class yaChi{
public yaChi(){}
public yaChi(String name,int age){
this.name=name;
this.age=age;
}
private String name;
private int age;
private Dog dog;
public void setDog(Dog dog){
this.dog=dog;
}
public Dog getDog(){
return dog;
}
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;
}
}