Java入门——day7


1. 抽象类:

     抽象类只能通过 abstract 实现单继承

2. 接口:

    接口不包含实现某种功能的具体代码,只有定义的抽象方法,所以接口需要 实现类

     

    接口实现类的定义格式:

       图中用一个类实现了对两个接口方法的重写(通过接口实现了多继承)

    PS:1. 接口不能被实例化(都不是类肯定不能被实例化,所以更没有构造方法)

       2. 类可以通过implement实现多个接口

       3. 实现类中必须重写接口中的方法

3.内部类:  在一个类中定义另一个类

     实例化内部类 对象的方法:

     内部类可以获取调用外部类的私有属性与方法

     PS:一个Java类中可以有多个class类,但只能有一个 public class类

       方法里也可以有类,称为局部内部类

4. 异常:

5. 捕获异常:

    (1)try-catch-finally

     在try 后面的语句中捕获异常,每个 catch 捕获一种异常,catch的括号中写异常的类型

     可有多个 catch,最后会执行 finally 中的操作(流程和switch语句中的case和default相似)

    PS: 1.注意捕获异常时遵循从上到下,范围逐步扩大

      2.快捷键:选中代码,Crtl + Alt  + T,可以选择对代码进行try-catch以及其他操作

                 

              catch 中自动生成打印栈信息的语句

    (2)throw / throws

    (3)自定义异常类:

             定义时一定要继承(extends)Exception类

            编写测试类时有两个选择:1. 用 throws 将异常抛向上一级

                        2. 在此方法中用 try-catch 直接捕获异常

             测试类举例:

             main方法的 try 中调用test方法,将12传递给 a ,12>10 , 故由throw抛出自定义的异常类

             按照自定义异常类中 toString方法中设置的格式输出有关异常的信息

    总结:

        合理使用 try-catch 可以避免正在运行的程序出现卡死的情况

相关