学习java第13天个人总结

Day13个人总结

一、异常

1、概念:

异常是程序在运行期发生不正常的事件导致系统执行异常,异常又分为异常和错误,错误是JVM内部导致,程序员不做处理,下面介绍异常中的受检异常和非受检异常。

2、 非受检异常

非受检异常是指代码有可能发生异常,而对这段有可能发生异常的代码进行抛出和处理,非受检异常隶属于父类RuntimeException,用法如下

 

 

3、 受检异常

受检异常是指某代码段一定会发生异常,程序在编译的时候就已经发生错误,程序员必须要对其进行处理和抛出的异常,受检异常隶属于父类Exception,使用如下:

 

 

受检异常和非受检异常都是通过try{}catch(){}finally{}来对代码异常进行捕获,其中try中是装执行的代码,catche()用于判断异常类型,如果是的那么就执行catch(){}方法体中的内容,finally{}中的代码一定会执行,主要用于关闭数据库,和清理功能。

 

 

 

 

 

 

受检异常和非受检异常继承图:

 

 

4、 throws和throw的使用

两者都是抛出异常,在用法上有一定的额区别对比如下

throw:主要是用于产生异常抛出异常对象,在方法的内部使用,可以抛出一个异常对象类型,不能直接抛出受检异常

throws主要用于抛出异常类,用法是跟在方法名后面接上异常类型,可以同时抛出多种异常类型

 

 

 

二、内部类

1、概念:

内部类分为:成员内部类、静态内部类、局部内部类和匿名内部类,内部类主要用于管理外部类的属性和方法的

2、成员内部类特点:

1)成员内部类类似于外部类中的成员属性和方法

2)可以用四中访问权限修饰符修饰public private protected default

3)成员类中不能使用static关键字

4)成员内部类中可以使用外部类的属性和方法(包括私有的)

5)如果内部类和外部类中的属性和方法名一样,那么内部类优先使用自己的属性和方法,在内部类中this也代表内部类本身,如果要想要调用外部类中的属性和方法,需要通过new一个外部类对象来调用

6)创建内部类对象,需要先创建外部类对象,通过创建外部类对象在去创建内部类对象:通过外部类对象.new 内部类();

7)在其他类中创建内部类对象,需要导包

3、静态内部类特点

1)类似于外部类的静态属性和方法,用static class类名定义

2)可以存在静态或者是非静态的属性和方法

3)内部类属性如果和外部属性名相同,优先调用内部的,如果想调用外部的需要new对象

4)创建对象的方式:Inner in = new Inner();创建的时候也需要导包

5)静态内部类主要用于建造者模式

4、局部内部类

1)局部内部类的声明位置放在方法中

2)不能用修饰符

3)里面可以出现非静态的属性和方法

4)创建对象:只能在声明内部类的方法中

5)如果想要局部内部类执行,必须调用声明局部内部类的方法

5、匿名内部类

1)匿名内部类主要是用于接口实现类的对象

2)匿名内部类的优点是节省代码,但是是在创建一次的情况下才会节省代码

3)匿名内部类是创建子类的对象,由于是匿名的所以需要父类名字来代替

 

posted @ 2017-04-24 20:30  java李  阅读(149)  评论(0编辑  收藏  举报