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

时间:2011-10-27 07:26:42

标签: java

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

我需要将名为Project的类的对象传递给类Developer的方法。 Java能帮我做到吗?

4 个答案:

答案 0 :(得分:4)

查看此示例代码,

public class Project {

  public Project() {

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

public class Developer {

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

答案 1 :(得分:1)

是的,您可以将引用传递给任何引用类型,无论它是类,接口,数组类型,枚举,注释还是abstractfinal或甚至{ {1}}:

strictfp

答案 2 :(得分:0)

如果类Developer包含一个方法,该方法接受Project类型的参数或Project继承的任何类型,包括Object,那么您可以传递一个对象类型Project的{​​{1}}

内的方法

答案 3 :(得分: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);
    }
}