正如标题所假设的那样,我在Java中如何做到这一点?我试图做的是这样的事情
首先是一个班级
public class MyFirstModel() {
//standard constructor
public MyFirstModel(){
//some lines of codes
}
//A method
public String getvalue() {
//do something then
return result;
}
}
第二个模型(类)
public class MySecondModel() {
//standard constructor
public MySecondModel(){
//some lines of codes
}
//A method
public String getvalue() {
//do something then
return result;
}
}
拥有这两个样本模型我想根据动作传递一个类。我们只说有两个按钮,第一个按钮用于模型,第二个按钮用于第二个模型。第三类要传递给:
FinalClass fclass = new FinalClass(<class here>); <-- how do i pass the class here
在这里,我如何通过课程?在FinalClass上,它的构造函数是什么?以及如何访问传递的类的方法?
我希望你们明白我的意思。请帮忙。
答案 0 :(得分:5)
您不希望两个模型都实现接口吗?
MyModel.java:
public interface MyModel {
public String getValue();
}
MyFirstModel.java:
public class MyFirstModel implements MyModel {
public String getValue() {
// stuff
}
}
MySecondModel.java:
public class MySecondModel implements MyModel {
public String getValue() {
// stuff
}
}
CallingClass.java:
public class CallingClass {
private MyModel model = null;
public CallingClass(MyModel model) {
this.model = model;
}
}
然后你可以根据需要构造MyModel并将其传递给CallingClass。
答案 1 :(得分:0)
您可以使用界面创建匿名对象:
public interface FinalClass {
// Method definitions
}
public class MyFirstModel() implements FinalClass {
//...
}
public class MySecondModel() implements FinalClass {
//...
}
使用:
FinalClass fclass = new MyFirstModel();
// or
FinalClass fclass = new MySecondModel();