java技术讲义编程技术篇(7)-李铁英.pdf

java技术讲义编程技术篇(7)-李铁英.pdf

ID:49357854

大小:2.85 MB

页数:63页

时间:2020-02-29

java技术讲义编程技术篇(7)-李铁英.pdf_第1页
java技术讲义编程技术篇(7)-李铁英.pdf_第2页
java技术讲义编程技术篇(7)-李铁英.pdf_第3页
java技术讲义编程技术篇(7)-李铁英.pdf_第4页
java技术讲义编程技术篇(7)-李铁英.pdf_第5页
资源描述:

《java技术讲义编程技术篇(7)-李铁英.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Java技术讲义基础编程技术篇李铁英其他类与异常处理final最终修饰符,可以用来修饰变量、方法、类等,其功能表示把可变化。也就是,被final修饰后,类不能再被继承、变量不能在被改变,方法不能再被重写。final修饰变量一旦final变量修饰了变量后,就需要赋值,该值不能再改变。Java语义中一般用来定义变量为常量。例如:finaldoublePI=3.1415926;在程序中用到PI这个常量时,它的值就是3.1415926。如果再次为final定义的常量赋值,编译器就会包错误。final修饰引用类一旦final修饰引用类型(对象和数组),它

2、只能恒定指向一个对象,无法将其改变指向另一个对象。一个既是static又为final的成员变量只占据一段不能改变的存储内存空间。final做为方法参数一旦final修饰了方法参数,这预示着就无法在方法体中修改参数值或修改参数所指向的对象引用。1/63Java技术讲义基础编程技术篇李铁英可以使用final修饰的数据如下图。final方法final修饰的方法是不能被重写,可以防止任何子类对该方法的任何修改。注:一般使用fianl修饰的方法无需再修饰为private。因为private是为了隐藏该方法,即不允许其他类,包含其子类都不能访问,而fina

3、l为最终方法,即使可以被其他对象引用,也不能修改其方法任何内容。上方法修饰符private和final修饰符二选一即可。final类一旦被final修饰的类就不能被继承。如果一个类不允许被别人修改,就可以使用final修饰。语法格式:2/63Java技术讲义基础编程技术篇李铁英将类设置为final形式,类中的所有方法都被隐式设置为final形式,但final类中的成员变量可以被定义为final或非final形式。练习1:在项目中创建FinalClass类,在类中定义doit()方法和变量nubm,在main方法中操作变量numb自增。执行结果:

4、运行结果可以说明,final类的成员变量是可以不声明为final的,可以通过对象改变该变量值,如果继承和final或重写该类的方法是不允许的。内部类在JDK1.1版本中,引入了内部类(InnerClass)的概念,它是指3/63Java技术讲义基础编程技术篇李铁英在一个类的内部可以定义另一个类,外部的类一般称为外部类(或封装类)。这样做的目的是有利于信息封装,内部类可以用于完成不能被任何其他类共享的实现细节。内部类和外部类之间存在逻辑上的所属关系,可以将逻辑上属于一类的类组织在一起,并控制一个类在另一个类中的可见性。例如下面的代码:练习2:在O

5、uter类的内部定义一个内部类inner。目的:掌握内部类的定义方法。分析:该程序演示了如何在Outer类的内部定义一个内部类Inner。编译完成后,将产生两个文件:outer.classOuter$Inner.class说明:编译后产生两个文件,外部类是Outer.class,内部类的文件名是Outerz$Inner.class。故内部的类文件名是:外部类名$内部类文件名内部类是外部类的一个成员,因此,就像外部类的任何成员(例如实例方法)可以访问外部类中的任何其他成员一样,内部类也可以访问其所在的外部类的任何其他成员,无论其是否是私有的。但是

6、,一个关键的问题是,内部类实例是依赖于外部类实例而存在的!也就4/63Java技术讲义基础编程技术篇李铁英是说,为了创建或使用内部类实例,必须先有一个外部类对象。练习3:在外部类Outer的内部创建内部类Inner的对象。目的:掌握在外部类的内部创建内部类对象的方法。执行结果:5/63Java技术讲义基础编程技术篇李铁英内部类在JVM运行示意图:从上图可以看出,内部类对象都以属性的方式记录着其所依赖的外部类对象的引用,因此可以找到该外部类对象并访问其成员。该属性是系统自动为非static的内部类添加的,名称为“外部类名.this”,例如上图用粗

7、体表示出来的outer.this。那么,如何在外部类的外部创建内部类对象呢?因为前面讲过内部类实例要依赖于外部类实例而存在,所以必须先有一个外部类实例。练习4:在外部类Outer的外部创建内部类Inner的对象。目的:掌握在外部类的外部创建内部类对象的方法。分析:该程序演示了如何在外部类Outer的外部创建内部类Inner的对象。6/63Java技术讲义基础编程技术篇李铁英执行结果:归纳:从上两个例程中,我们可以总结出创建内部类对象的方法。⒈在外部类的非静态方法中,内部类对象可以直接使用new操7/63Java技术讲义基础编程技术篇李铁英作符创

8、建,这是因为内部类对象所依赖的外部对象就是该非静态方法的当前this。⒉在其他无关类的方法中创建内部类对象,必须先显式获得外部类的对象,再用“外部类对

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。