我对Java很陌生,请坚持下去。好吧,我知道接口“提供”仅由具体子类实现的抽象方法。希望这是真的(至少)。所以我正在研究一个jxl api的示例代码,编写和读取一个excel文件,我到了这一点:
workbook = Workbook.createWorkbook(new File("/home/me/workspace/files/output.xls"));
WritableSheet sheet = workbook.createSheet("first sheet", 0);
也就是说,工作簿对象之前已实例化并且是 WritableWorkbook 对象。我正在使用 Workbook 提供的静态方法创建工作簿,该方法是 WritableWorkbook 的超类。直到这个,我在那里。但是,那么,我在第二条指令中做了什么?工作表是“WritableSheet”,但这是一个接口!看到api,没有实现类。而“WritableSheet”是另一个接口“Sheet”的子接口。两个接口。但是,我认为我无法从接口创建对象。然后,使用 createSheet 方法(由 WritableWorkbook 提供),似乎我正在创建一个 WritableSheet。然后在示例代码中我到达了这个:
Label lblNome = new Label(0, 1, "Nome:");
sheet.addCell(lblNome);
第一行没问题,我新建一个元素,一个标签(也就是一个文本单元格);但第二个?再说一遍,addCell 是一个看到 api 的接口方法!while sheet 之前的执行是什么?在我看来是一个界面。如果接口提供抽象方法,他们正在使用哪种方法?
请你澄清一下?最后代码可以工作,但不清楚这些接口(Sheet 和 WritableSheet)是如何工作的。
谢谢