接口


IDEA图标细节

接口中不能有方法体


甚至可以不写public

接口中的方法假设不写,默认就是抽象的(灰色)

可加参数

在接口中定义增删改查方法

写实现类,一般实现类会用 impl 结尾

实现类的标准命名规则

报红的原因是:因为实现了接口,还没重写里面的方法
override:
快捷键shift+鼠标左键,按住shift,点第一个和最后一个,就能多选



实现类可以实现多个接口(多继承)
现在写一个TimeService接口,里面有个timer()方法

可以在UserServiceImpl类中加


接口中可以定义常量,但基本没人这么干

总结

内部类


定义外部类与内部类

在main中实例化(成员内部类)

运行方法

内部类可以直接访问外部类的一些私有属性(和私有方法)


静态内部类

一旦加上static,这个id就拿不到了
因为static跟类走,id还没实例化拿不到,除非在id前面也加个static
静态内部类无法直接访问非静态属性
把class写在类外面,相当于在大的Java文件里写了两个不同的类

下面这个类不能用public,一个Java文件里面只能有一个public class,但可以有多个class

局部内部类:方法里面的类

匿名内部类

假设这有个接口

new这个接口


这个方法会返回一个userService对象

异常


异常体系结构

Error

Exception

异常处理机制


以一个算数异常为例

try和catch一般连着使用
程序无论出不出异常,都会执行finally里面的话。finally一般用于处理善后工作



无论出现什么,finally最终都会执行,处理完了才去报错

用Throwable捕获
catch括号里的是想要捕获的异常类型,Throwable是最高级别,几乎所有的异常都能用它捕获,其次才是Error和Exception

catch和if-else一样可以层层递进
上下关系:要把大的异常写在下面,大的在上面的话,执行完上面的就不会进行下面的捕获了

如果把大的放上面的话报错,提示已经被捕获了

如果想给语句自动生成try-catch,选中语句,快捷键Ctrl+Alt+T

生成包含该语句的句式

System.out.println(a/b);这句代码我们知道可能会发生错误,可以给加个判断

多用在方法中

如果不要方法体,依旧出现了这个异常

在方法上抛出异常

来源:b站狂神



浙公网安备 33010602011771号