需要Java中某些对象的回收方法

时间:2018-11-30 18:51:08

标签: java methods recycle

我只是想知道是否有任何方法可以回收Java中在同级类中重复的方法,因为它们需要特定的对象。

让我们看一个例子:

public void refreshSearch(){
    try{
        String search = bookDialog.getTxtBrowser().getText();
        bookBusiness.searchByString(search, bookDialog
            .selectedItemToString(bookDialog.getCmbBrowser())); 
        bookDialog.getTbBooks()
            .setModel(new BookTableView(bookBusiness));
        setBookTableTitles();
    }
    catch(SQLException ex){System.out.print(ex);}
}

然后:

public void refreshSearch(){
    try{
        String search = studentDialog.getTxtBrowser().getText();
        studentBusiness.searchByString(search, studentDialog
                .selectedItemToString(studentDialog.getCmbBrowser())); 
        studentDialog.getTbStudents()
                .setModel(new StudentTableView(studentBusiness));
        setStudentTableTitles();
    }
    catch(SQLException ex){System.out.println(ex);}
}

这里的要点是,我有两个相等的方法,只是因为它们需要特殊的对象类型。

我想到的解决方案是接收一个通用的Object参数,然后检查该类并创建相应的实例,但是如果该方法被三个不同的类使用,则我必须创建六个对象,而仅创建两个将使用其中的一个(其他四个将为null)。因此,我将不得不为每个对象创建一个长结构。

Java中有什么方法可以解决这个问题?

非常感谢!

1 个答案:

答案 0 :(得分:0)

这可以使用接口解决。因此,您可以创建一个具有getTxtBrowser()和getTbStudents()方法的Dialog接口,以及一个具有searchByString方法的Business接口,然后为该接口为StudentDialog和BookDialog以及StudentBusiness和BookBusiness创建实现类。这样,您可以创建一个使用该接口的方法,它将在实现类中执行这些方法。