如何使用Java中的参数返回新对象?

时间:2013-10-15 23:41:11

标签: java class object parameters numerical-methods

我正在做一个家庭作业问题:

“这个问题的每个部分都要求你编写一个函数,它将你在Q1中创建类的对象作为参数之一,并用它做一些事情。在Q2A中编写一个名为cloneDog()的方法,它接受一个对象类型狗并返回一个新的 狗对象具有相同的名称和品种,但年龄为0,并且确实发绿光。原来的狗应该保持不受伤害。“

我正在尝试在字段中返回具有不同值的对象。我需要在不更改字段值的情况下返回对象。

我的领域是:

public class Dog
{
    String name;
    int age;
    String breed;
    boolean glowsGreen;
}

我的Q1A代码是:

Dog getTegon()
    {
        Dog dog1 = new Dog(); 
        dog1.name = "Tegon";
        dog1.age = 2;
        dog1.breed = "Beagle";
        dog1.glowsGreen = false;
        return dog1;
    }

对于Q2A,我不知道如何将该参数用于不同的值:

Dog cloneDog(Dog getTegon)
{

    enter code here

}

2 个答案:

答案 0 :(得分:2)

  

我不知道如何将该参数用于不同的值:

您只需引用要复制的值

Dog dog1 = new Dog();
dog1.name = getTegon.name;

答案 1 :(得分:0)

一种方法是在Dog类中编写复制构造函数,如下所示:

public Dog(Dog otherDog) {
  this.name = otherDog.name;
  this.age = otherDog.age;
  // etc..
}

然后在cloneDog()

中调用它