有关interface和abstract class的选用
我工作中碰到这样的情况
当可以使用abstract class 与interface时,该用哪个呢
如下的例子:
每个子类都有sheet,但是如果我选用abstract class,并把sheet作为成员变量时,abstract class中的方法没有用到sheet,只有在子类中才用到.在这种情况下,该选用哪个呢? 请大家发表一下看法
import java.util.ArrayList;
public interface ExcelRead
{
/**
返回ArrayList,其中ArrayList中每个元素为HashMap.
@roseuid 3ED40ED40360
*/
public abstract ArrayList getRecords();
/**
@roseuid 3ED426540194
*/
abstract Object getRecord(int i);
}
import java.util.ArrayList;
import java.util.HashMap;
import jxl.*;
public class BudgetDetail implements ExcelRead
{
private Sheet sheet;
public BudgetDetail()
{
ExcelSheet excelSheet = new ExcelSheet("input.xls",1);
sheet = excelSheet.getSheet();
}
public ArrayList getRecords()
{
//用到sheet
}
public Object getRecord(int i)
{
//用到sheet
}
}