一、回顾
1、接口:特殊的类,是抽象行为的集合,是一种标准,规则,行为规范,可以有常量。
语法:
访问修饰符(public||default) interface IInterfaceName{
访问修饰符(public)[abstract] <返回值类型> methodName(参数列表);
public [static final] <数据类型> 常量名=值;
常量命名:所有字母都是大写形式,如果多个单词构成,单词间用“_”连接。
}
2、接口用途:
2-1、可以解决java类单重继承。继承可以传递。
2-2、多态,可以实现对不同类型事物的抽象表达。
前提:接口可以引用实现了该接口的类的对象。
3、类实现一个接口语法:
public class ClassName implements InterfaceName1,InterfaceName2,...{
//类中必须实现接口规则要求的抽象行为,具体化那些行为。
}
二、今天的内容
1、异常:就是不正常的现象。
异常处理:对于程序中出现的不正常现象的一种积极应对。
积极应对:设计程序时就要预判有可能会有什么样不正常现象,同时做出预案。
如果没有进行异常处理,会交个系统处理,系统的处理的方式时杀掉程序。
目的:是让程序变得可控,健壮。
1-1、分类:
1-2、java中异常处理方式:
1-2-1、try catch finally结构处理
运行原理:将可能有异常的语句放在try语句块中,当发生异常时,程序将从
异常处中断执行,程序并不一定(如果我们进行了异常处理,并且被catch结
构捕获异常对象,这时程序可控,否则交个系统处理)结束。catch结构是用
来捕获异常对象并处理的结构。
异常类的父类Exception:所有的异常类都继承自此类。
语法:
try{
//有可能发生异常的语句;
}catch(异常类型 变量名){
//异常处理语句;
}
当有多种异常可能时,处理方式:
1)用异常类的父类作为引用:catch(Exception e)
2)如果我们想针对不同异常进行有针对处理:采用多重catch结构处理时,顺
序,先具体再抽象的顺序。
try{
//有可能发生异常的语句;
。。。。。
。。。。。
//发生异常处
。。。。。
。。。。。
}catch(异常类型1 变量名1){
//异常处理语句;
}catch(异常类型2 变量名2){
//异常处理语句;
}catch(异常类型3 变量名3){
//异常处理语句;
}
...
catch(Exception e){
//异常处理语句;
}finally{
//不管是否发生异常,都会执行的语句;
//关闭数据语句;
}
1-2-2、throw抛出异常对象
使用时都是出现在某些条件语句中。
1-2-3、throws进行异常声明
写在方法的声明部分,而且throws后可以跟若干个异常类型,用逗号
分开,语句不要求必须抛出具体对象。
throw以及throws有共同点:自己都不处理!交给调用者处理。
throw以及throws有不同点:throw是抛出具体异常对象,throws是只声明,
不抛出对象,也不处理。
1-3、自定义异常类型:
public class ClassNameException extends Exception{
//属性
//行为
//重写父类的方法
}
1-4、日志工具应用:log4j日志工具
与时间有关的文本信息记录,精确到具体位置,在什么包,什么项目,什么
文件的某某方法的某某行。
时间+地点+信息记录(可以输出控制台,也可以是日志文件)
实施步骤:
1-4-1、先下载log4j.jar包(log4j-1.2.12.jar)
1-4-2、导入开发项目中:
右击项目-->在列表中选择Build path-->在列表中选择
Configure build path-->在弹出的对话框窗体中选择Libary选项卡
页-->点击add external jars按钮-->选中log4j-1.2.12.jar文件
-->点击OK按钮
1-4-3、如何使用:
1)创建一个log4j.properties文件。
在日志信息记录的活动中,起到指导性的意义。
比如:用到什么类,在那个包;
日志记录时格式;
日志优先级(错误信息、警告信息、自定义信息、调试信息);
日志信息处理(写到那里?)
2)在程序创建一个写入器对象,在程序运行的过程中,运用该写入器
记录日志,可以写到日志文件,也可以输出到控制台。
Logger logger;
logger.err("程序某某错误信息");
logger.warn("程序警告信息");
logger.info("自定义信息");
logger.debug("调试信息");
1、接口:特殊的类,是抽象行为的集合,是一种标准,规则,行为规范,可以有常量。
语法:
访问修饰符(public||default) interface IInterfaceName{
访问修饰符(public)[abstract] <返回值类型> methodName(参数列表);
public [static final] <数据类型> 常量名=值;
常量命名:所有字母都是大写形式,如果多个单词构成,单词间用“_”连接。
}
2、接口用途:
2-1、可以解决java类单重继承。继承可以传递。
2-2、多态,可以实现对不同类型事物的抽象表达。
前提:接口可以引用实现了该接口的类的对象。
3、类实现一个接口语法:
public class ClassName implements InterfaceName1,InterfaceName2,...{
//类中必须实现接口规则要求的抽象行为,具体化那些行为。
}
二、今天的内容
1、异常:就是不正常的现象。
异常处理:对于程序中出现的不正常现象的一种积极应对。
积极应对:设计程序时就要预判有可能会有什么样不正常现象,同时做出预案。
如果没有进行异常处理,会交个系统处理,系统的处理的方式时杀掉程序。
目的:是让程序变得可控,健壮。
1-1、分类:
1-2、java中异常处理方式:
1-2-1、try catch finally结构处理
运行原理:将可能有异常的语句放在try语句块中,当发生异常时,程序将从
异常处中断执行,程序并不一定(如果我们进行了异常处理,并且被catch结
构捕获异常对象,这时程序可控,否则交个系统处理)结束。catch结构是用
来捕获异常对象并处理的结构。
异常类的父类Exception:所有的异常类都继承自此类。
语法:
try{
//有可能发生异常的语句;
}catch(异常类型 变量名){
//异常处理语句;
}
当有多种异常可能时,处理方式:
1)用异常类的父类作为引用:catch(Exception e)
2)如果我们想针对不同异常进行有针对处理:采用多重catch结构处理时,顺
序,先具体再抽象的顺序。
try{
//有可能发生异常的语句;
。。。。。
。。。。。
//发生异常处
。。。。。
。。。。。
}catch(异常类型1 变量名1){
//异常处理语句;
}catch(异常类型2 变量名2){
//异常处理语句;
}catch(异常类型3 变量名3){
//异常处理语句;
}
...
catch(Exception e){
//异常处理语句;
}finally{
//不管是否发生异常,都会执行的语句;
//关闭数据语句;
}
1-2-2、throw抛出异常对象
使用时都是出现在某些条件语句中。
1-2-3、throws进行异常声明
写在方法的声明部分,而且throws后可以跟若干个异常类型,用逗号
分开,语句不要求必须抛出具体对象。
throw以及throws有共同点:自己都不处理!交给调用者处理。
throw以及throws有不同点:throw是抛出具体异常对象,throws是只声明,
不抛出对象,也不处理。
1-3、自定义异常类型:
public class ClassNameException extends Exception{
//属性
//行为
//重写父类的方法
}
1-4、日志工具应用:log4j日志工具
与时间有关的文本信息记录,精确到具体位置,在什么包,什么项目,什么
文件的某某方法的某某行。
时间+地点+信息记录(可以输出控制台,也可以是日志文件)
实施步骤:
1-4-1、先下载log4j.jar包(log4j-1.2.12.jar)
1-4-2、导入开发项目中:
右击项目-->在列表中选择Build path-->在列表中选择
Configure build path-->在弹出的对话框窗体中选择Libary选项卡
页-->点击add external jars按钮-->选中log4j-1.2.12.jar文件
-->点击OK按钮
1-4-3、如何使用:
1)创建一个log4j.properties文件。
在日志信息记录的活动中,起到指导性的意义。
比如:用到什么类,在那个包;
日志记录时格式;
日志优先级(错误信息、警告信息、自定义信息、调试信息);
日志信息处理(写到那里?)
2)在程序创建一个写入器对象,在程序运行的过程中,运用该写入器
记录日志,可以写到日志文件,也可以输出到控制台。
Logger logger;
logger.err("程序某某错误信息");
logger.warn("程序警告信息");
logger.info("自定义信息");
logger.debug("调试信息");