Java面试经典试题及答案.doc





《Java面试经典试题及答案.doc》由会员分享,可在线阅读,更多相关《Java面试经典试题及答案.doc(7页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、一 基础篇1. 谈谈final, finally, finalize的区别final是一个修饰符,修饰类的时候表示类不可继承, 所以一个类不可能既是 abstract 又是 final 的; 修饰变量的时候表示这个变量不可被更改并且必须赋初始值; 修饰方法的时候表示方式不可被重写。finally 通常和 try-catch 一起, 在finally 里代码无论是否发生异常都会执行到finalize 是一个方法名。方式是定义在Object 类中,在对象从内存中释放之前会调用此方法进行一些必要的清理工作。2. Annoy Inner Class (匿名类) 是否可以extends (继承)其他类,
2、是否可以implements (实现) interface接口?Annoy Inner Class 由于没有类名所以不可以extends其他类;可以实现interface3. Static Nested Class 和 Inner Class的不同Static Nested Class 不需要外部类的实例来创建内部类的实例;内部类不能访问外部类的非静态方法;它能具有静态的数据,属性,和匿名内部类。4. & 和 & 的不同&表示位运算符;&表示逻辑运算符;5. HashMap 和 Hashtable 的区别HashMap 允许一个null或者多个null 作为key, 而 Hashtable 不
3、行Hashtable 是线程同步的, 而HashMap不是的HashTable的原理:通过节点的关键码确定对象的存储位置。给定节点的关键码k,通过一定的散列函数H(k),得到散列值,这个值就是节点的存储地址6. Colleciton 和 Collections 的区别Collection 在java.util下面,是所有集合类的父接口Collections 也在java.util下面,他封装了集合类的一些操作7. 什么时候用 assert?assert 是一条包含布尔表达式的语句,程序运行到当前语句的时候假定布尔返回值是true,如果是false则会抛出异常。断言在默认情况下是禁用的,在编译时
4、启用断言用 -source 1.4 标记,在运行时启用可以用 -ea 来标记,在运行时禁用用 -dsa 来标记。8. GC是什么?为什么要用GC?GC是垃圾回收机制,使用GC程序员就不用关心程序的内存管理。使用System.gc()和Runtime.getRuntime().gc();能增加GC启动的优先级,但是不保证一定执行。9. String s = new String(xyz); 创建了几个String Object.2个10. Math.round(11.5)等于多少?Math.round(-11.5)等于多少?12;-11; round 表示4舍5入11. short s1 = 1
5、; s1 = s1 + 1; 有什么错? short s1 = 1; s1 += 1;有什么错?s1 = s1 + 1; 有错,因为 1 是int 型,所以s1 + 1 后的类型是int,int 隐形转化为short类型s1 += 1;没有问题12. sleep() 和 wait() 有什么区别?sleep() 表示让当前运行的线程暂停一段时间,在时间满了后,这个线程被并不一定会被立即执行,除非这个线程的优先级比当前线程的优先级高,或者当前线程执行完毕,或者当前线程阻塞住了wait()如果线程对一个同步对象发出wait请求后,该线程会暂停执行,进入等待状态直到被唤醒或者等待时间到。13. Ja
6、va 有没有 goto ?有但是没有用14. 数组有没有length()方法?String 有没有 length()方法?数组没有length()方法,但是数组有length属性String 有 length() 方法15. overload和override 的区别。overload 和 override 都是 Java 多态的一种表现, overload是同一个类中的多态性的表现,override 是子类和父类多态的一种表现overload 表示重载,一个类中同样一个方法名可以有不同的参数override 表示重写,子类中可以重新实现父类的方法overload 的返回值不可变16. Set
7、 里的元素是不能重复的,用什么方法来区分重复与否呢?用 = = 还是 equals()? 他们有和区别?用 equals 方法,= = 方法是比较对象的引用地址,equal默认是比较引用,但是可以被重写是逻辑相等,一般重写equal也要修改相应的hashCode方法17. 给我你最常见的一个 runtime exceptionNullpointException, IllegalArgumentException, ArrayIndexOutofBoundsException18. Object 对象中的方法toString()/hashCode()/equals()/notify()/not
8、ifyAll()/getClass()/wait()19. error 和 exception 有什么区别?error表示一种不是不可能但是很难恢复的一种错误,比如内存溢出;exception表示正常流程的情况下不会出现的错误20. List, Set, Map 是否继承自Collection接口?List 和 Map 是, Map 不是21. abstract class 和 interface 有什么区别?我从两个角度看他们之间的区别:1,多态性:抽象类是通过集成的方式体现多态性的,这就意味着子类只能集成一个父类,并且子类和父类之间的关系式is-a的关系,而接口是通过实现的方式体现,这意味
9、着实现类可以实现过个接口,实现类和接口的关系仅仅是实现了接口规定的方法而已。2,分析设计的角度:抽象类往往是我们对领域问题分析得出的抽象概念,而接口给一系列对象提供标准的行为22. abstract method 是否同时是 static, 是否同时是native, 是否同时 synchronized?都不是23. 接口是否可以继承接口? 抽象类是否可实现接口? 抽象类是否继承实体类(concrete class)?接口可以继承接口,抽象类可以实现接口,抽象类可以继承实体类24. 启动一个线程使用run() 还是 start() ?启动线程是用start()方法25. 构造器 Construc
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 面试 经典 试题 答案

限制150内