java面试经典题(必看32题)易错知识点

java面试经典题(必看32题)易错知识点

ID:17884748

大小:57.00 KB

页数:6页

时间:2018-09-08

java面试经典题(必看32题)易错知识点_第1页
java面试经典题(必看32题)易错知识点_第2页
java面试经典题(必看32题)易错知识点_第3页
java面试经典题(必看32题)易错知识点_第4页
java面试经典题(必看32题)易错知识点_第5页
资源描述:

《java面试经典题(必看32题)易错知识点》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第一,谈谈final,finally,finalize的区别。final—修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为abstract的,又被声明为final的。将变量或方法声明为final,可以保证它们在使用中不被改变。被声明为final的类变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。局部变量声明时可以不赋值,生命周期内只能赋值一次。被声明为final的方法也同样只能使用,不能重写(子类覆盖),可以重载。finally—异常处理时提供finally块来执行任何清除操作。

2、如果抛出一个异常,那么相匹配的catch子句就会执行,然后控制就会进入finally块(如果有的话)。finally语句总会被执行,如果遇到return的话,就先跑去执行finally,再returnfinalize—方法名。Java技术允许使用finalize()方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它是在Object类中定义的,因此所有的类都继承了它。子类覆盖finalize()方法以整理系统资源或者执行其他清理工作。finalize()方法是在垃圾收集器删除对象之前对这个

3、对象调用的。第二,AnonymousInnerClass(匿名内部类)是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)?匿名类在实现时,必须借助一个类或一个接口,若从这个层次说它是可以继承一个类或一个接口的。但是通过extendsimplements关键字那是不可能的。一个内部类可以作为一个接口由另一个内部类实现。在使用匿名内部类时,要记住以下几个原则:   ·匿名内部类不能有构造方法。     ·匿名内部类不能定义任何静态成员、方法和类。     ·匿名内部类不能是public,protected,privat

4、e,static。     ·只能创建匿名内部类的一个实例。    ·一个匿名内部类一定是在new的后面,用其隐含实现一个接口或实现一个类。     ·因匿名内部类为局部内部类,所以局部内部类的所有限制都对其生效。  第三,StaticNestedClass和InnerClass的不同,说得越多越好(面试题有的很笼统)。NestedClass一般是C++的说法,InnerClass一般是JAVA的说法。 Nestedclass分为静态Staticnestedclass的和非静态的innerclass, 静态的Staticnestedclass是不可以直接调用它的外

5、部类enclosingclass的,但是可以通过外部类的引用来调用,就像你在一个类中写了main方法一样。 非静态类innerclass可以自由的引用外部类的属性和方法,但是它与一个实例绑定在了一起,不可以定义静态的属性、方法。 InnerClass(内部类)定义在类中的类。 NestedClass(嵌套类)是静态(static)内部类。1.要创建嵌套类的对象,并不需要其外围类的对象。2.不能从嵌套类的对象中访问非静态的外围类对象。 AnonymousInnerClass(匿名内部类)匿名的内部类是没有名字的内部类。 第四,&和&&的区别。“&&”是逻辑运算中的“

6、短路”,若"&&"前的条件为false时判断结果为false,不再执行"&&"后的语句块。"&&"前为true则继续进行进行后半部分的判断“&”是两边都要经过判断&&是逻辑运算符,表示逻辑与&是位运算符,表示位与;位运算针对二进制数0和1;0&0=0,0&1=0,1&0=0,1&1=1第五,HashMap和Hashtable的区别。1.hashMap去掉了HashTable的contains方法,但是加上了containsValue()和containsKey()方法。2.hashTable同步的,而HashMap是非同步的,效率上比hashTable要高。3.h

7、ashMap允许空键值,而hashTable不允许。第六,Collection和Collections的区别。Collection和Collections的区别。Collections是个java.util下的类,它包含有各种有关集合操作的静态方法。排序(Sort)2)混排(Shuffling)3)反转(Reverse)4)替换所以的元素(Fill)5)拷贝(Copy)Collection是个java.util下的接口,它是各种集合结构的父接口。第七,什么时候用assert。断言是一个包含布尔表达式的语句,在执行这个语句时假定该表达式为true。如果表达式计算为f

8、alse,

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

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

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