如何将一个类的对象传递给另一个类的方法?

3

如何在没有接口或继承的情况下将类的对象传递给另一个类的方法?

我需要将名为Project的类的对象传递给Developer类的一个方法。Java可以帮助我完成吗?

4个回答

4
看看这个示例代码,
public class Project {

  public Project() {

   Developer developer = new Developer();
   developer.developerMethod(this);
  }
}

public class Developer {

public void developerMethod(Project project) {
 // do something
}
}

1

是的,您可以传递任何引用类型的引用,无论它是类、接口、数组类型、枚举、注释还是abstractfinal甚至strictfp

public class Project {
}

public class Developer {
  public void myMethod(Project foo) {
    // do something with foo
  }
}

0
如果您可以选择方法参数的类型,那么这就很简单了:
class Project {
}

class Developer {
    public void complete(Project p) {
    }
}

class SoftwareHouse {
    public void perform() {
        Developer d = new Developer();
        Project p = new Project();
        d.complete(p);
    }
}

如果参数的类型是固定的,并且它不是Project接口或超类,您需要编写一个适配器类:

interface Assignment {
}

class Developer2 {
    public develop(Assignment a) {
    }
}

class ProjectAssignment implements Assignment {
    private Project p;

    public ProjectAssignment(Project p) {
        this.p = p;
    }
}

class SoftwareHouse2 {
    public void perform() {
        Developer2 d2 = new Developer2();
        Project p2 = new Project();
        Assignment a = new ProjectAssignment(p);
        d2.develop(a);
    }
}

感谢大家的回答。我刚刚开始学习Java,只有7天的时间,也是从几分钟前才开始使用stackoverflow.com。Joachim的答案现在已经足够了,当我继续深入学习时,这些剩下的答案对我来说将非常重要,希望能得到大家的帮助。谢谢大家! - IronBlossom

0
如果类Developer包含一个方法,该方法接受类型为Project或任何继承自Project的类型(包括Object)的参数,则可以将Project类型的对象传递给Developer中的方法。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接