java学习第十一天(接口、内部类、异常机制)
接口
使用interface定义
本质是契约,就想人间的法律,制定好之后大家都需要遵守
接口就是规范,定义的是一组规则,体现了现实生活中的如果你是。。。就必须能。。。
- 普通类:只有具体实现
- 抽象类:具体实现和规范(抽象方法)都有
- 接口:只有规范,自己无法写方法,约束和实现的分离
//类可以实现接口,通过Implements 接口名
//实现了接口中的类,就必须重写接口中的所有方法
//通过接口可以实现伪多继承
![image]()
特点:
- 是一个约束
- 可以定义一些方法,让不同的人实现
- 接口中定义的类都是public abstract抽象类
- 接口中定义的属性都是public static final
- 接口不能被实例化,也没有构造方法
- implement可以实现多个接口
- 使用接口必须重写接口里的方法
内部类
成员内部类
在类的内部再写一个类
内部类的是实例化必须通过外部类的实例化进行,也就是说需要先实例化外部类
语法:
先实例化一个外部对象
外部类名 实例化外部对象名=new 外部类名();
然后通过外部类的实例化对象进行
外部类名.内部类名 实例化内部对象名=实例化外部对象名.new 内部类名();
或者
实例化外部对象名.new 内部类名();

内部类可以直接访问外部类的私有属性
局部内部类
写在方法里的类

匿名内部类
new的时候不取名字,直接点出来
异常机制
程序在运行中会遇到很多问题这个就叫异常,英文Exception
异常类型
- 检查性错误:
最具代表性的检查性异常是用户错误或者问题引起的异常,这是程序员无法预见的。例如用户要打开一个不不存在的文件时,一个异常就发生了,这些异常在编译时不能简单地忽略 - 运行时异常:
运行时异常是可能被程序员避免的异常。与检查性异常相反,运行时异常可以在编译时被忽略 - 错误(ERROR)
错误不是异常,而是脱离程序员控制的问题。错误在代码中通常被忽略。例如,当栈溢出时,一个错误就发生了,它们在编译时也检查不到。
异常体系结构
java中把异常当做对象来处理,并定义了一个基类java.lang.Throwable作为所有异常的超类。
在javaAPI中已经定义了许多异常,这些异常分为两大类,错误(ERROR)和异常(Exception)

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



浙公网安备 33010602011771号