没有合适的资源?快使用搜索试试~ 我知道了~
Java面试32个经典问题 .doc
4星 · 超过85%的资源 需积分: 2 12 下载量 181 浏览量
2013-01-07
12:10:38
上传
评论
收藏 55KB DOC 举报
温馨提示
试读
6页
第一, 谈谈final, finally, finalize的区别。 (最常被问到) final修饰符(关键字) 如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为abstract,又被声明为final。将变量或方法声明为final,可以保证它们在使用中不被改变。其初始化可以在两个地方:一是其定义处,也就是说在final变量定义时直接给其赋值;二是在构造函数中。这两个地方只能选其一,要么在定义时给值,要么在构造函数中给值,不能同时既在定义时给了值,又在构造函数中给另外的值,而在以后的引用中只能读取,不可修改。被声明为final的方法也同样只能使用,不能重写(override)。 finally 在异常处理时提供finally块来执行任何清除操作。如果抛出一个异常,那么相匹配的catch子句就会执行,然后控制就会进入finally块(如果有的话)。 finalize 方法名。Java 技术允许使用finalize()方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它是在Object类中定义的,因此所有的类都继承了它。子类覆盖finalize()方法以整理系统资源或者执行其他清理工作。finalize()方法是在垃圾收集器删除对象之前对这个对象调用的。 第二,Anonymous Inner Class(匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)?
资源推荐
资源详情
资源评论
Java 经典面试题 32 问 www.mju.edu.cn
JAVA 面试 32 问
第一, 谈谈 nal, nally, nalize 的区别。 (最常被问到)
final 修饰符(关键字)
如果一个类被声明为 final,意味着它不能再派生出新的子类,不能作为父类被继承。因此
一个类不能既被声明为 abstract,又被声明为 final。将变量或方法声明为 final,可以保证它
们在使用中不被改变。其初始化可以在两个地方:一是其定义处,也就是说在 final 变量定
义时直接给其赋值;二是在构造函数中。这两个地方只能选其一,要么在定义时给值,要
么在构造函数中给值,不能同时既在定义时给了值,又在构造函数中给另外的值,而在以
后的引用中只能读取,不可修改。被声明为 final 的方法也同样只能使用,不能重写
(override)。
finally
在异常处理时提供 finally 块来执行任何清除操作。如果抛出一个异常,那么相匹配的 catch
子句就会执行,然后控制就会进入 finally 块(如果有的话)。
finalize
方法名。Java 技术允许使用 finalize()方法在垃圾收集器将对象从内存中清除出去之前做必
要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。
它是在 Object 类中定义的,因此所有的类都继承了它。子类覆盖 finalize()方法以整理系统
资源或者执行其他清理工作。finalize()方法是在垃圾收集器删除对象之前对这个对象调用
的。
第二,Anonymous Inner Class(匿名内部类) 是否可以 extends(继承)其它类,是
否可以 implements(实现)interface(接口)?
匿名的内部类是没有名字的内部类。不能 extends(继承) 其它类,但一个内部类可以作
为一个接口,由另一个内部类实现。
第三,Static Nested Class 和 Inner Class 的不同,说得越多越好。(面试题有的很笼
统)
Nested(嵌套)Class(一般是 C++的说法)
nested class 是合成型聚集关系(Composite Aggregation) 的另一种表达方式,也
就是说 nested class 也可以用 Aggregation 表达出来,但是,nested class 更加精确
地表达了一种专用的、紧耦合的关系,尤其在代码生成时,nested class 在 Java 中映射
成 inline class。比如,计算机专用开关电源类可以作为计算机类的 nested class,但是,
电池组类就不一定适合作为计算机类的 nested class,因为,电池组类表述的是一个过于
通用的对象,可能还被包含(Aggregation)于模型中的其他设备对象。class A nested
in class B,则说明 A 是一个 nested class,一般 A 是用来完成 B 中的某种重要功能。
Inner Class (一般是 JAVA 的说法)
Java 内部类与 C++嵌套类最大的不同就在于是否有指向外部的引用上。
静态内部类(Inner Class)意味着 a 创建一个 static 内部类的对象,不需要一个外部类
对象,b 不能从一个 static 内部类的一个对象访问一个外部类对象
第四,&和&&的区别。(这个问得很少)
&是位运算符。&可为位运算,也可为逻辑运算,看情况而定。&&是布尔逻辑运算符。
第五,HashMap 和 Hashtable 的区别。(常问)
1
资源评论
- tunan12342013-06-28很适合我这种初学者
appsna
- 粉丝: 3
- 资源: 131
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 农村信用社联合社计算机信息系统投产与变更管理办.docx
- 农村信用社联合社计算机信息系统数据管理办法.docx
- 利用SPSS作临床效度分析线上计算网站介绍-医学研究部统计谘.(医学PPT课件).ppt
- 利用Zabbix监控mysqldump定时备份数据库状态.docx
- 利用计算机解决问题的基本过程.doc
- 化工铁路通信工程总结.doc
- 北京大学网络教育软件工程作业.docx
- 医药公司(连锁店)计算机操作规程未新系统的自行按照旧制修改-新系统过制的编号加修模版.doc
- 医药公司(连锁店)计算机系统操作规程模版.doc
- 医药连锁门店计算机系统的操作和管理程序未新系统的自行按照旧制修改-新系统过制的编号加修模版.docx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功