Java笔试常见问题及答案解析

需积分: 9 2 下载量 109 浏览量 更新于2024-07-17 收藏 93KB DOC 举报
在Java笔试中,面试官常常会考察应聘者的基础知识掌握程度,以下是一些可能遇到的问题及其解答: 1. **Java作用域**: - `public`:访问级别最高,可以在任何包内被访问。√√√√ - `protected`:在同一包或子包内可访问,也允许子类跨包访问。√√√× - `default`(未指定):在同一个包内默认可用,如果跨包则仅限于同包下的子类。√√×× - `private`:仅限于当前类内部,不可被其他类访问。√××× 2. **ArrayList`与`Vector`的区别**: - **线程安全**:`Vector`是线程安全的(同步),适合多线程环境;`ArrayList`是非线程安全的。 - **容量增长**:`Vector`在增长时默认增加一倍容量;`ArrayList`则是在增长时添加原容量的一半。 3. **`HashMap`与`Hashtable`的区别**: - **历史背景**:`Hashtable`源于老版本的`Dictionary`,`HashMap`是Java 1.2后引入的。 - **线程安全**:`Hashtable`同步,`HashMap`非同步。 - **值的存储**:`HashMap`可以有`null`键值对,`Hashtable`不允许。 4. **`char`类型与中文字符**: - 可以存储中文,因为Java使用Unicode编码,一个`char`占16个字节,足以存放一个汉字。 5. **多线程实现**: - 方法:两种常见方式,一是继承`Thread`类,二是实现`Runnable`接口。 - 同步方法:`synchronized`关键字用于同步代码块或方法,`wait()`与`notify()`用于线程间的通信。 6. **继承中的初始化顺序**: - 当子类`ChildClass`继承`FatherClass`时,父类构造函数先执行,然后是子类构造函数。 - 父类构造: ``` publicFatherClass() { System.out.println("FatherClassCreate"); } ``` - 子类构造: ``` publicChildClass() { System.out.println("ChildClassCreate"); } ``` 这些问题旨在测试应聘者对Java核心概念的理解和记忆,特别是面向对象编程、数据结构和并发处理等主题。记住,面试中可能会有陷阱或者变式问题,所以持续学习和实践是提升的关键。同时,对于提供的答案,应保持批判性思考并随时准备更新和扩展,以便应对更全面的面试场景。