ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Java基础.Day16

2021-07-18 21:33:56  阅读:153  来源: 互联网

标签:Java 内部 方法 捕获 基础 接口 Day16 catch 异常


接口

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,catch,异常
来源: https://www.cnblogs.com/ayuanstudy/p/15027786.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有