如何在没有接口或继承的情况下将类的对象传递给另一个类的方法?
我需要将名为Project
的类的对象传递给Developer
类的一个方法。Java可以帮助我完成吗?
如何在没有接口或继承的情况下将类的对象传递给另一个类的方法?
我需要将名为Project
的类的对象传递给Developer
类的一个方法。Java可以帮助我完成吗?
public class Project {
public Project() {
Developer developer = new Developer();
developer.developerMethod(this);
}
}
public class Developer {
public void developerMethod(Project project) {
// do something
}
}
是的,您可以传递任何引用类型的引用,无论它是类、接口、数组类型、枚举、注释还是abstract
、final
甚至strictfp
:
public class Project {
}
public class Developer {
public void myMethod(Project foo) {
// do something with foo
}
}
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);
}
}
Developer
包含一个方法,该方法接受类型为Project
或任何继承自Project
的类型(包括Object
)的参数,则可以将Project
类型的对象传递给Developer
中的方法。