【发布时间】:2012-01-12 01:22:47
【问题描述】:
我对 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)是如何工作的。
谢谢
【问题讨论】:
标签: java interface methods abstract jxl