七日阅书5 抽象和接口异常处理《Java程序设计与计算思维》
Posted 小雨青年
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了七日阅书5 抽象和接口异常处理《Java程序设计与计算思维》相关的知识,希望对你有一定的参考价值。
一、前言
【七日阅书】1 计算思维和Java特性《Java程序设计与计算思维》
【七日阅书】2 Java的数据类型和流程控制《Java程序设计与计算思维》
【七日阅书】3 字符串、数组、集合、泛型《Java程序设计与计算思维》
二、抽象
1.如何理解抽象
抽象的意义在于创建标准,实现抽象类的类必须实现抽象类的抽象方法。
比如猫都会叫,但是叫声有差别,那么定义了抽象类"猫"之后,我要想做一个品种猫,就必须实现猫叫的方法。
在实现抽象类的过程中,也就是实现对标准的统一,逻辑上也就避免了出错。
2.抽象类的注意事项
3.实际代码帮助理解
首先是定义抽象类,我加了一些注释帮助理解。
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();
调用之后的输出。
三、接口
1.接口和抽象的区别
- 接口只能定义成员常数或抽象的成员、方法
- 抽象类至少包含一个完整方法,接口包含的都是抽象方法
- 接口支持多重继承
接口的存在意义和抽象类相同,都是为了遵循设计规范,避免出错。
2.接口的注意事项
3. 实际代码帮助理解
首先是定义接口类,我也加了一些注释。演示支持实现多接口,我做了两个接口。
/**
* 猫的接口类
*/
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();
实际运行结果如下。
四、异常
本书中被成为例外处理,异常和错误。
1.错误
2.异常
异常则是发生例外鞥马上处理的错误。
3.捕获异常并处理
可以参考如下代码片段,通过对异常的捕获来抛出预期的异常。
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);
五、总结
- 抽象和接口,都是为了规范化整个项目,减少中间出错的风险。
- 对异常的catch也是一种预期管理,让程序在自己的预期内运行。
六、源码地址
以上是关于七日阅书5 抽象和接口异常处理《Java程序设计与计算思维》的主要内容,如果未能解决你的问题,请参考以下文章
七日阅书1 计算思维和Java特性《Java程序设计与计算思维》
七日阅书7 网络通信&全书总评《Java程序设计与计算思维》
七日阅书2 Java的数据类型和流程控制《Java程序设计与计算思维》