如何将对象传递给java中的另一个对象

时间:2013-12-30 16:24:32

标签: java object

我一般都是java新手,但我特别遇到了很多问题。我有一个项目将对象传递给另一个对象。我在互联网上寻求帮助,我的在线java教科书没有详细解释对象。所以我的问题是,你如何将一个对象传递给另一个对象。

- 提前感谢你

2 个答案:

答案 0 :(得分:3)

对象之间的消息传递是面向对象编程的核心概念。 “将对象传递给另一个对象”通常只意味着一个对象公开一个方法,该方法接受另一个对象的类型作为该方法的参数。它可能就像这样简单:

class Person {
    private String name;

    public void setName(String name){
       this.name=name;
    }

    public String getName(){
       return name;
    }
}

class Car {
    private Person driver;

    public void setDriver(Person driver) {
        this.driver = driver;
    }
}

然后在代码中的某个位置,您将拥有Car的实例和Person的实例,并且您将调用该方法:

carInstance.setDriver(personInstance);

可以通过许多不同的方式创建这些实例。也许就像这样简单:

Person personInstance = new Person();
personInstance.setName("David");
Car carInstance = new Car();

答案 1 :(得分:2)

你可以通过调用o2的方法(或者特别是o2的类的构造函数;或者你知道的构造函数是特殊类型的方法)将对象o1传递给另一个对象o2。

我建议你先弄清楚下面的代码是什么。

有多少人? 在执行程序的不同时刻,他们的名字是什么? Person对象传递给Person对象的次数和位置? String对象传递给Person对象的次数和位置?

如果你消化了这个,你现在就会好起来的。

class Person {

    private String name;

    public Person(String name){
        this.name = name;
    }

    public Person(Person p){
        this.name = p.name;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

public class MainProg {
    public static void main(String[] args) {
        Person t1 = new Person("Joe");
        Person t2 = new Person("John");
        System.out.println(t1.getName());
        System.out.println(t2.getName());
        t1.setName("Mark");
        System.out.println(t1.getName());
        System.out.println(t2.getName());
        Person t3 = new Person(t1);
        System.out.println(t3.getName());
    }
}