七日阅书5 抽象和接口异常处理《Java程序设计与计算思维》

Posted 小雨青年

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了七日阅书5 抽象和接口异常处理《Java程序设计与计算思维》相关的知识,希望对你有一定的参考价值。

一、前言

【七日阅书】1 计算思维和Java特性《Java程序设计与计算思维》

【七日阅书】2 Java的数据类型和流程控制《Java程序设计与计算思维》

【七日阅书】3 字符串、数组、集合、泛型《Java程序设计与计算思维》

【七日阅书】4 理解面向对象《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也是一种预期管理,让程序在自己的预期内运行。

六、源码地址

小雨青年 / Java Demo · CODE CHINA (gitcode.net)

以上是关于七日阅书5 抽象和接口异常处理《Java程序设计与计算思维》的主要内容,如果未能解决你的问题,请参考以下文章

七日阅书1 计算思维和Java特性《Java程序设计与计算思维》

七日阅书7 网络通信&全书总评《Java程序设计与计算思维》

七日阅书2 Java的数据类型和流程控制《Java程序设计与计算思维》

七日阅书2 Java的数据类型和流程控制《Java程序设计与计算思维》

七日阅书4 理解面向对象《Java程序设计与计算思维》

七日阅书3 字符串数组集合泛型《Java程序设计与计算思维》