赞
踩
【七日阅书】1 计算思维和Java特性《Java程序设计与计算思维》
【七日阅书】2 Java的数据类型和流程控制《Java程序设计与计算思维》
【七日阅书】3 字符串、数组、集合、泛型《Java程序设计与计算思维》
抽象的意义在于创建标准,实现抽象类的类必须实现抽象类的抽象方法。
比如猫都会叫,但是叫声有差别,那么定义了抽象类"猫"之后,我要想做一个品种猫,就必须实现猫叫的方法。
在实现抽象类的过程中,也就是实现对标准的统一,逻辑上也就避免了出错。
首先是定义抽象类,我加了一些注释帮助理解。
package com.example.demo.tool; /** * 猫的抽象类 */ abstract class CatAbstract { //构造函数 CatAbstract(){ System.out.print("我是抽象类的构造函数\r\n"); } abstract public void jump(); //抽象方法,没有具体实现 public void run(){ System.out.print("我是抽象类的函数,跑起来了!\r\n"); } }
然后是定义类作为抽象类的实现,注意对于抽象类内函数也是要实现的。
package com.example.demo.tool; /** * 天津猫是抽象猫的实现,我家的猫就是从天津拿来的 */ public class TjCat extends CatAbstract { @Override public void jump() { System.out.print("我可跳了啊\r\n"); } public void kuaiban(){ System.out.print("我可会打快板\r\n"); } @Override public void run() { super.run(); } }
调用之后的输出。
接口的存在意义和抽象类相同,都是为了遵循设计规范,避免出错。
首先是定义接口类,我也加了一些注释。演示支持实现多接口,我做了两个接口。
/** * 猫的接口类 */ interface CatInterface { void run(); //由于必须所有方法都是public,所以public没必要写上 void jump(); } interface CatInterface2 { int tailNum = 1; void eat(); }
实现类实现了两个接口类的方法。
/** * 接口类的实现,支持实现多接口 */ public class TianjinCat implements CatInterface,CatInterface2 { @Override public void run() { System.out.print("我可跑了啊\r\n"); } @Override public void jump() { System.out.print("我有"+ String.valueOf(tailNum) +"条尾巴!\r\n"); System.out.print("我可跳了啊\r\n"); } @Override public void eat() { System.out.print("我可吃了啊\r\n"); } }
控制器内直接实例化实现类。
TianjinCat tianjinCat = new TianjinCat();
tianjinCat.eat();
tianjinCat.jump();
tianjinCat.run();
实际运行结果如下。
本书中被成为例外处理,异常和错误。
异常则是发生例外鞥马上处理的错误。
可以参考如下代码片段,通过对异常的捕获来抛出预期的异常。
public static List<List<String>> readExcelToLines(byte[] bytes) {
try (Workbook workbook = new XSSFWorkbook(new ByteArrayInputStream(bytes))) {
return readLines(workbook);
} catch (OLE2NotOfficeXmlFileException e) {
try (Workbook workbook = new HSSFWorkbook(new ByteArrayInputStream(bytes))) {
return readLines(workbook);
} catch (IOException exception) {
throw new RuntimeException(exception);
}
} catch (IOException e) {
throw new RuntimeException(e);
}
}
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。