暑期第二天
来源:互联网 发布:婚礼录像编辑软件 编辑:程序博客网 时间:2024/06/14 13:39
完成任务
1.内部类的相关知识
2.异常
收获
内部类
可以直接访问外部类中的成员,包括私有
- 之所以可以直接访问外部类成员,是因为内部类持有了一个外部类的引用,外部类名。this
- 外部类想访问内部类,必须建立内部类对象
- 访问格式
- 1,内部类定义在外部类的成员位置上,可以被成员修饰符修饰
比如:static 被static修饰的类,只能直接访问外部类中的static成员
在外部其他类中,如何直接访问static内部类的非静态成员
- new Outer.Inner().function();
- 在外部其他类中,如何直接访问static内部类的静态成员
Outer.Inner.function();
注意 :当内部类中定义了静态成员,内部类必须是static
当外部类的静态方法访问内部类时,内部类也必须是static
匿名内部类
- 1.匿名内部类其实就是内部类的简写
- 2.定义匿名内部类的前提
- 内部类必须是继承一个类或者实现接口
- 3.匿名内部不累的格式
- new 一个父类或者接口(){(定义子类的内容)}
- 4.其实匿名内部类就是一个匿名子类对象,而且这个对象有点胖,可以理解为带内容的对象
- 5.匿名内部类中定义的方法最多不超过2个
局部内部类
public class Outer2 { int x = 3; //局部内部类不能定义成static void method(final int a){ //可以直接访问外部类的成员,应为还持有外部类中的引用 //但是不可以访问他所在的局部中的变量,只能访问被final修饰的局部变量 final int y = 100; class Inner{ void function(){ System.out.println(a); } } new Inner().function(); }}
异常
- 异常,就是程序运行时出现的不正常情况
异常的由来;问题也是现实生活中一个具体的事物,也可以通过java的类的形式进行描述
对于问题的划分1.严重的问题:java通过error类进行描述
2.不严重的:通过Exception类进行描述(对于exception可以使用针对性 的处理方式进行处理)
无论error或者Exception共性
Throwable
- |–Error
|–Exception
*2.异常的处理
*java提供了特有的语句
*try{- 需要被检测的代码
*
*}catch(异常类 变量){ - 处理异常的代码(处理方式)
*
*}finally{ - 一代你会执行的语句
*
*}
*
* - 3.对捕获到的异常对象进行常见方法操作
- String getMessage
对多异常的处理
- 1.声明异常时建议声明具体的异常
- 2.对方有几个异常,就对应有几个catch块
如果多个catch块中的异常出现继承关系,父类放在最下面
建议在进行catch处理时catch中一定要定义具体具体处理方式
- 不要只写e.printStackTrace();
- 不要简单的就书写一条输出语句
- 因为项目中会出现特有的问题
- 而这些问题病危被java所描述并封装对象
- 所以对这些特有的问题可以按照java的对问题封装思想
- 将特有的问题提,进行自定义的异常封装
自定义异常
需求:在本程序中对出书位负数也视为错误的也无法进行运算
那么就需要对这个问题对自定义描述
当函数内部出项了throw抛出异常对象,那么就必须要给对应的处理动作
- 要么在内部trycatch处理
要么在函数上声明让调用者处理
一般情况在,函数内出现异常,函数上需要声明
发现打印的结果中只有异常的名称,却没有异常的信息
因为自定义的异常并未定义信息
自定义异常
必须是自定义类继承Exception。
继承Execption原因
异常体系有一个特点
- 异常类和异常对象都具有可抛性
这个可抛性是Throwable体系中都有特点
只有这个体系中的类和对象
才可以给throw和throws操作
throws和throw的区别
函数上 函数内
throws 后面跟异常类可以多个
RuntimeException
.RuntimeException的子类在函数里抛出
* 函数上不需要声明
* 编译一样通过
*
* 如果在函数上声明了该异常。调用者可以不用进行处理,编译一样通过
*
* 之所以不用声明
* 因为不需要调用者处理
* 希望停止,运行时没出现了无法继续运算的情况
* 希望停止后,对代码进行修正
*
*
* 自定义异常时:如果该异常的发生,无法在继续进行运算
* 就让自定义异常继承RuntimeException
*
* 对于异常分两种
* 1.编译时被检测的异常
* 2.编译时不被检测的异常;运行时异常runtimeException
- 暑期第二天
- 暑期集训第二天
- 暑期大作战 第二天
- C语言暑期实习 第二天
- 北大暑期学校第二天 整理(1)
- ACM_暑期计划——第二天
- 维夏英语暑期调研小分队——第二天
- ACM - 暑期第二天:贪心算法 及 字典树
- 暑期集训第二周---搜索
- 暑期个人赛第二场
- 2013暑期第二周周赛大二
- 2013暑期第二周周赛大一
- 暑期个人赛--第二场--A
- 暑期个人赛--第二场--B
- 暑期个人赛--第二场--D
- 暑期个人赛--第二场--C
- 留校暑期30天
- 暑期第二次校赛第二题 骑士 广搜。
- 什么是计算机语言
- 在局域网中不能ping通的问题
- 猜数字游戏的提示(UVa 340)
- 018-双因素理论|如何管理80后,90后
- 栈
- 暑期第二天
- CodeForces 25D(并查集)
- MongoDB常用命令汇总之聚集集合查询。
- 批量微信号码过滤程序
- Linux基本的一些命令
- JAVA Map架构和API介绍
- 导数的概念及运算
- 算法作业:证明题(4)-- 8.12
- 《Spring源码深度解析》学习笔记——Spring的整体架构与容器的基本实现