java学习第十一天(接口、内部类、异常机制)

接口

使用interface定义
本质是契约,就想人间的法律,制定好之后大家都需要遵守
接口就是规范,定义的是一组规则,体现了现实生活中的如果你是。。。就必须能。。。

  • 普通类:只有具体实现
  • 抽象类:具体实现和规范(抽象方法)都有
  • 接口:只有规范,自己无法写方法,约束和实现的分离
    //类可以实现接口,通过Implements 接口名
    //实现了接口中的类,就必须重写接口中的所有方法
    //通过接口可以实现伪多继承
    image
    特点:
  1. 是一个约束
  2. 可以定义一些方法,让不同的人实现
  3. 接口中定义的类都是public abstract抽象类
  4. 接口中定义的属性都是public static final
  5. 接口不能被实例化,也没有构造方法
  6. implement可以实现多个接口
  7. 使用接口必须重写接口里的方法

内部类

成员内部类

在类的内部再写一个类
内部类的是实例化必须通过外部类的实例化进行,也就是说需要先实例化外部类
语法:
先实例化一个外部对象

外部类名 实例化外部对象名=new 外部类名();

然后通过外部类的实例化对象进行

外部类名.内部类名 实例化内部对象名=实例化外部对象名.new 内部类名();
或者
实例化外部对象名.new 内部类名();

image
内部类可以直接访问外部类的私有属性

局部内部类

写在方法里的类
image

匿名内部类

new的时候不取名字,直接点出来

异常机制

程序在运行中会遇到很多问题这个就叫异常,英文Exception

异常类型

  1. 检查性错误:
    最具代表性的检查性异常是用户错误或者问题引起的异常,这是程序员无法预见的。例如用户要打开一个不不存在的文件时,一个异常就发生了,这些异常在编译时不能简单地忽略
  2. 运行时异常:
    运行时异常是可能被程序员避免的异常。与检查性异常相反,运行时异常可以在编译时被忽略
  3. 错误(ERROR)
    错误不是异常,而是脱离程序员控制的问题。错误在代码中通常被忽略。例如,当栈溢出时,一个错误就发生了,它们在编译时也检查不到。

异常体系结构

java中把异常当做对象来处理,并定义了一个基类java.lang.Throwable作为所有异常的超类。
在javaAPI中已经定义了许多异常,这些异常分为两大类,错误(ERROR)和异常(Exception)
image

ERROR

  • ERROR类对象由java虚拟机生成并抛出,大多数错误与代码编写者所执行的操作无关
  • java虚拟机运行错误(Virtual MachineError),当JVM不在有继续操作所需要的内存时,将出现OutOfMemoryError。这些异常发生时,java虚拟机(JVM)一般会选择线程终止。
  • 还有发生在虚拟机试图执行应用时,如类定义错误(NoClassDefFoundError)、链接错误(LinkageError)。这些错误是不可查的,因为它们在应用程序的处理和控制范围之外,而且大多数是程序运行时不允许出现的状况。

Exception

一般是由程序逻辑错误引起的,程序应该从逻辑角度尽可能避免这类异常的发生
image

posted @ 2022-07-02 00:30  不再犹豫27  阅读(46)  评论(0)    收藏  举报