Java面试题库大全:基础知识篇
需积分: 33 43 浏览量
更新于2024-07-21
收藏 2.14MB PDF 举报
Java 面试宝典
Java 是一门广泛应用于软件开发的编程语言,面试中的问题涵盖了 Java 的各种知识点,本文将对 Java 面试中的常见问题进行总结和解释。
**Java 基础知识**
1. 一个 Java 源文件中可以包括多个类(不是内部类),但只有一个 public 类,且文件名必须与 public 类同名。
2. Java 不支持 goto 语句, goto 语句是 C 语言中的跳转语句,但 Java 中可以使用 break、continue 和 return 语句来控制程序流程。
3. & 和 && 的区别:& 是按位与操作符,&& 是逻辑与操作符,&& 具有短路功能,即如果第一个条件为 false,则不再执行第二个条件。
4. 在 Java 中,可以使用 break 语句或 return 语句来跳出当前的多重嵌套循环。
5. switch 语句可以作用于 byte、short、char 和 int 类型,但不能作用于 long 和 String 类型。
6. shorts1=1;s1=s1+1; 的错误是:short 类型的变量不能隐式转换为 int 类型,需要强制类型转换;s1+=1; 是正确的,因为 += 运算符会自动进行类型转换。
7. char 型变量可以存储一个中文汉字,因为 char 型变量可以存储 Unicode 编码的字符。
8. 用最有效率的方法算出 2 乘以 8 等于 16,可以使用位移操作符 <<,即 2 << 3。
9. 设计一个一百亿的计算器需要使用 BigInteger 类或自定义数据结构来存储大整数。
**Java 变量和数据类型**
10. 使用 final 关键字修饰一个变量时,引用不能变,但引用的对象可以变。
11. "==" 和 equals 方法的区别:"==" 是比较引用是否相同,而 equals 方法是比较对象的值是否相同。
12. 静态变量和实例变量的区别:静态变量属于类,实例变量属于对象。
**Java 方法**
13. 是否可以从一个 static 方法内部发出对非 static 方法的调用?答案是不能,因为静态方法属于类,实例方法属于对象。
14. Integer 和 int 的区别:Integer 是对象,int 是基本类型。
15. Math.round(11.5) 等於 11,Math.round(-11.5) 等於 -11。
16. 下面的代码有什么不妥之处?答案是:需要检查空指针异常。
17. 作用域 public、private、protected 以及不写时的区别:public 是公共的、私有的 protected 是保护的、不写时是默认的包权限。
**Java 面向对象**
18. Overload 和 Override 的区别:Overload 是重载,Override 是重写。Overloaded 的方法可以改变返回值的类型。
19. 构造器 Constructor 是否可被 override?答案是:不能,因为构造器属于类。
20. 接口是否可继承接口?答案是:可以。抽象类是否可实现(implements)接口?答案是:可以。抽象类是否可继承具体类(concrete class)?答案是:可以。抽象类中是否可以有静态的 main 方法?答案是:不能。
21. 写 clone() 方法时,通常都有一行代码,即 super.clone()。
22. 面向对象的特征有哪些方面?答案是:封装、继承、多态。
23. Java 中实现多态的机制是什么?答案是:通过方法重写和方法重载。
24. abstract class 和 interface 有什么区别?答案是:抽象类可以包含抽象方法和非抽象方法,接口只能包含抽象方法。
**Java 高级知识**
25. abstract 的 method 是否可同时是 static?答案是:不能。是否可同时是 native?答案是:不能。是否可同时是 synchronized?答案是:不能。
26. 什么是内部类?答案是:内部类是定义在另一个类中的类。StaticNestedClass 和 InnerClass 的不同:StaticNestedClass 是静态内部类,InnerClass 是实例内部类。
27. 内部类可以引用它的包含类的成员吗?答案是:可以,但需要注意访问权限。
28. 等等。
2017-12-15 上传
2023-11-16 上传
2018-01-22 上传
2018-10-18 上传
2013-06-12 上传
2018-01-22 上传
2024-12-26 上传
qq_28141389
- 粉丝: 0
- 资源: 1