欢迎来到天天文库
浏览记录
ID:50452952
大小:36.52 KB
页数:4页
时间:2020-03-09
《java内部类、异常、编程规范.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、内部类(Outer.java) 在一个类中定义另外一个类,这个类就叫做内部类或内置类(innerclass) 内部类和外部类分属不同的空间,都有自己的数据变量和数据方法,内部类仍然是一个独立的类 内部类所产生的字节码的文件名:外部类$内部类.class 内部类可以让我们将逻辑上相关的一组类组织起来,并由外部类(outerclass)来控制内部类的可见性 当我们建立一个innerclass时(不管其嵌套的层次有多深),其对象就拥有了与外部类对象之间的一种关系,这是通过一个特殊的thisreference形成的,使得内部类对象可以随意的访问外部类中所有的成员 在一个
2、方法内定义一个类的时候只能在该方法内部使用这个类 还可将内部类的定义放置在一个语句块中 在方法中定义的内部类,如果要访问方法中定义的本地变量或方法的参数,则变量必须被声明为final 内部类可以声明为private或protected,还可以声明为abstract或final 内部类可以声明为static的,那么在产生内部类的对象的时候就无需同时再存在一外部类的对象,但此时就不能再使用外部类的非static的成员变量和非static的成员方法 非static的内部类中的成员不能声明为static的,只有在顶层类或static的内部类中才可声明static成员 为什么
3、要使用内部类: 在内部类中,可以随意的访问外部类的成员,这可以让我们更好地组织管理我们的代码,增强代码的可读性(若外部类要访问内部类的成员,需要先产生内部的的一个对象,然后利用这个对象去引用内部类的成员) 内部类可以用于创建适配器类,适配器类是用于实现接口的类。使用内部类来实现接口,可以更好地定位与接口关联的方法在代码中的位置 内部类的更多用法java.lang包下有个Exception类,它有很多子类。不过虽然Exception类在java.lang包下,但它的子类不一定都在这同一个包中。Exception类类是从Throwable类派生出来的 异常处理: 打开一个
4、不存在的文件、网络连接中断、数组下标越界、正在加载的类文件丢失等都会引发异常 Java中的异常类定义了程序中遇到的轻微的错误条件 Java中的错误类定义了程序中不能恢复的严重错误条件。如内存溢出、类文件格式错误等。这一类错误由Java运行系统处理,不需要我们去处理 Java程序在执行过程中如出现异常,会自动生成一个异常类对象,该异常类对象将被提交给Java运行时的系统,这个过程称为抛出(throw)异常 当Java运行时系统接收到异常对象时,会寻找能处理这一异常的代码把当前异常对象交给其处理,这一过程称为捕获(catch)异常 如果Java运行时系统找不到可以捕获异
5、常的方法,则运行时系统将终止,相应的Java程序也将退出 try/catch/finally语句:把可能引发异常的代码放到try里,在catch语句中对异常条件进行处理。 若没有进行异常处理,在程序退出的时候会自动调用printStackTrace()。 可以写多个catch。 不管程序有无异常,finally语句里的代码都会执行。但当程序终止运行的时候,finally语句里的代码就不会执行(如前有System.exit(-1))
6、 抛出异常声明函数throwsclassExcep{ publicintdivision(inta,intb) { returna/b; }}classExcepTest{ publicstaticvoidmain(String[]args) { Excepexcep=newExcep(); try { excep.division(5,0); System.out.println("exception"); } catch(Excep
7、tione) { //System.out.println("can't"); //System.out.println(e.getMessage()); //System.out.println(e.toString()); e.printStackTrace();//异常发生的轨迹 } System.out.printl
此文档下载收益归作者所有