如何在参数中传递一个类并使用它的方法

one*_*ind 0 java methods class parameter-passing

正如标题所假设的那样,我在Java中如何做到这一点?我试图做的是这样的事情

首先是一堂课

public class MyFirstModel() {

    //standard constructor
    public MyFirstModel(){
            //some lines of codes
    }

    //A method
    public String getvalue() {

            //do something then
            return result;
    }
}
Run Code Online (Sandbox Code Playgroud)

和第二个模型(类)

public class MySecondModel() {

    //standard constructor
    public MySecondModel(){
            //some lines of codes
    }

    //A method
    public String getvalue() {

            //do something then
            return result;
    }
}
Run Code Online (Sandbox Code Playgroud)

拥有这两个样本模型我想根据动作传递一个类.我们只说有两个按钮,第一个按钮用于模型,第二个按钮用于第二个模型.第三类要传递给:

 FinalClass fclass = new FinalClass(<class here>);  <-- how do i pass the class here
Run Code Online (Sandbox Code Playgroud)

在这里,我如何通过课程?在FinalClass上,它的构造函数是什么?以及如何访问传递的类的方法?

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

dav*_*son 5

您不希望两个模型都实现接口吗?

MyModel.java:

public interface MyModel {
    public String getValue();
}
Run Code Online (Sandbox Code Playgroud)

MyFirstModel.java:

public class MyFirstModel implements MyModel {
    public String getValue() {
        // stuff
    }
}
Run Code Online (Sandbox Code Playgroud)

MySecondModel.java:

public class MySecondModel implements MyModel {
    public String getValue() {
        // stuff
    }
}
Run Code Online (Sandbox Code Playgroud)

CallingClass.java:

public class CallingClass {
    private MyModel model = null;
    public CallingClass(MyModel model) {
        this.model = model;
    }
}
Run Code Online (Sandbox Code Playgroud)

然后你可以根据需要构造MyModel并将其传递给CallingClass.