Java教程

Java基础.Day16

本文主要是介绍Java基础.Day16,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

接口

image-20210717200059739

image-20210717200113158

IDEA图标细节

image-20210718082829000

接口中不能有方法体

image-20210718082952172

image-20210718123151158

甚至可以不写public

image-20210718123217178

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

image-20210718123354017

可加参数

image-20210718123437258

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

image-20210718123613346

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

image-20210718123755085

实现类的标准命名规则

image-20210718123940537

报红的原因是:因为实现了接口,还没重写里面的方法

override:

快捷键shift+鼠标左键,按住shift,点第一个和最后一个,就能多选

image-20210718124329238

image-20210718124408386

image-20210718124452256

实现类可以实现多个接口(多继承)

现在写一个TimeService接口,里面有个timer()方法

image-20210718125702797

可以在UserServiceImpl类中加

image-20210718125801746

image-20210718125831785

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

image-20210718151931932

总结

image-20210718152455253

内部类

image-20210718154106205

image-20210718154119528

定义外部类与内部类

image-20210718154834350

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

image-20210718154931834

运行方法

image-20210718155125625

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

image-20210718155327451

image-20210718155427442

静态内部类

image-20210718155838505

一旦加上static,这个id就拿不到了

因为static跟类走,id还没实例化拿不到,除非在id前面也加个static

静态内部类无法直接访问非静态属性


把class写在类外面,相当于在大的Java文件里写了两个不同的类

image-20210718160901384

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

image-20210718161101714

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

image-20210718163025512

匿名内部类

image-20210718163756659

假设这有个接口

image-20210718163913185

new这个接口

image-20210718163945869

image-20210718164040071

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

image-20210718164442789

异常

image-20210718193440470

  • image-20210718193824798

  • image-20210718194236356

  • image-20210718194512881

image-20210718194645329

异常体系结构

image-20210718194927034

Error

image-20210718195352501

Exception

image-20210718195621393

异常处理机制

image-20210718200351786

image-20210718200433971

以一个算数异常为例

image-20210718200941565

try和catch一般连着使用

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

image-20210718201415544

image-20210718202755152

image-20210718203641047

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

image-20210718203700305

用Throwable捕获

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

image-20210718203901480

catch和if-else一样可以层层递进

上下关系:要把大的异常写在下面,大的在上面的话,执行完上面的就不会进行下面的捕获了

image-20210718204531261

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

image-20210718204633626

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

image-20210718205310287

生成包含该语句的句式

image-20210718205717080

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

image-20210718211317204

多用在方法中

image-20210718211749402

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

image-20210718211856514

在方法上抛出异常

image-20210718212246478

 来源:b站狂神

这篇关于Java基础.Day16的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!