0

正如标题所假设的那样,我如何在 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 上,它的构造函数是什么?以及如何访问已传递类的方法?

我希望你们明白我的意思。请帮忙。

4

2 回答 2

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
    }
}

调用类.java:

public class CallingClass {
    private MyModel model = null;
    public CallingClass(MyModel model) {
        this.model = model;
    }
}

然后,您可以根据需要构建 MyModel 并将其传递给 CallingClass。

于 2012-08-03T14:17:49.047 回答
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();
于 2012-08-03T14:18:22.230 回答