我一般都是java新手,但我特别遇到了很多问题。我有一个项目将对象传递给另一个对象。我在互联网上寻求帮助,我的在线java教科书没有详细解释对象。所以我的问题是,你如何将一个对象传递给另一个对象。
- 提前感谢你
答案 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());
}
}