Java面试必备知识点详解
需积分: 4 88 浏览量
更新于2024-07-16
收藏 1.17MB PDF 举报
"Java面试宝典2014版.pdf" 是一份详尽的Java面试题库,涵盖了各种Java基础知识和进阶概念,旨在帮助求职者准备Java相关的面试。这份资料包含了许多面试中常遇到的问题,提供了详细的解答,帮助应聘者理解并掌握Java编程的核心知识点。
1. Java源文件可以包含多个类,但只能有一个公开类(public class),其他类可以是非公开的(非public)。如果类没有指定访问修饰符,它们默认为包级私有(package-private)。
2. Java中没有`goto`语句,它是一种流程控制语句,但在Java中为了代码的可读性和避免复杂的跳转结构,被省略了。
3. `&`和`&&`都是逻辑运算符。`&`始终会计算两边的操作数,而`&&`(短路与)只有在第一个操作数为真时才会计算第二个操作数。
4. 要跳出多重嵌套循环,可以使用`break`语句配合标签(label)来实现,如:`outer: for(...){ inner: for(...){... break outer; } }`
5. `switch`语句可以作用于`byte`, `char`, `short`, `int`以及枚举类型(enum),但在Java 7之后,也可以用于`String`类型。
6. `short s1 = 1; s1 = s1 + 1;` 这里会出现类型提升,因为`short`加`int`的结果是`int`,需要显式转换回`short`。而`s1 += 1;`则是自动处理了类型转换。
7. `char`型变量可以存储一个中文汉字,因为UTF-16编码中一个字符可能由一个或两个`char`组成,中文汉字通常占用两个`char`。
8. 最有效率的方法计算2乘以8是直接赋值:`int result = 2 * 8;`
9. 设计一个一百亿的计算器要考虑数值溢出问题,可能需要使用大整数类如`BigInteger`。
10. `final`修饰的变量,其引用不可变,意味着不能指向其他对象,但引用的对象内容可以变。
11. `==`比较的是对象的引用,而`equals()`方法比较的是对象的内容(除非重写`equals()`)。
12. 静态变量属于类,实例变量属于对象。静态变量在类加载时初始化,而实例变量在对象创建时初始化。
13. 不可以从`static`方法内部直接调用非`static`方法,因为`static`方法与对象无关,无法访问对象特有的非`static`成员。
14. `Integer`是`int`的包装类,它们之间存在自动装箱拆箱。`Integer`对象包含额外的特性,如缓存、比较等。
15. `Math.round(11.5)`等于12,`Math.round(-11.5)`等于-11。
16. 下面的代码可能存在不妥之处,比如未定义变量、语法错误等,具体要看代码内容。
17. `public`、`private`、`protected`分别代表不同的访问权限,不写表示包级私有。`public`可被任何地方访问,`private`仅在类内访问,`protected`在同一包和子类中访问,无修饰词则仅在同包内访问。
18. `Overload`是重载,方法名相同但参数列表不同;`Override`是重写,子类方法覆盖父类方法。重载不改变返回值类型,而重写可以但必须保持一致。
19. 构造器不能被`override`,但可以重载。
20. 接口可以继承接口,抽象类可以实现接口,抽象类也可以继承具体类,但抽象类中的`main`方法必须声明为`static`。
21. 实现`clone()`方法时,通常会包含`super.clone()`调用来创建对象副本。
22. 面向对象的特征包括封装、继承、多态。
23. Java通过方法重写(Override)和抽象方法实现多态。
24. `abstract class`可以包含方法实现,而`interface`只能声明方法签名,不能包含实现。`abstract class`可以有构造器,`interface`则不能。
25. `abstract`方法不能同时是`static`,不能同时是`native`,也不能同时是`synchronized`,因为这些特性与抽象方法的定义相冲突。
26. 内部类是定义在另一个类内部的类,分为静态内部类(StaticNestedClass)和非静态内部类(InnerClass)。静态内部类可以像普通类一样使用,而非静态内部类需要外部类实例才能创建。
27. 内部类可以引用包含类的成员,但非静态内部类需要包含类的实例,静态内部类可以直接访问静态成员。
28. A类包含B类,B类包含C类,C类包含D类,这种情况下,D类可以访问到A类的成员,但A类不能直接访问D类的成员,除非通过B类或C类的实例。
2018-03-16 上传
2021-12-19 上传
2012-11-08 上传
2019-05-19 上传
2012-06-13 上传
2012-09-12 上传
2023-07-05 上传
2021-08-09 上传
普通网友
- 粉丝: 4
- 资源: 9
最新资源
- Aspose资源包:转PDF无水印学习工具
- Go语言控制台输入输出操作教程
- 红外遥控报警器原理及应用详解下载
- 控制卷筒纸侧面位置的先进装置技术解析
- 易语言加解密例程源码详解与实践
- SpringMVC客户管理系统:Hibernate与Bootstrap集成实践
- 深入理解JavaScript Set与WeakSet的使用
- 深入解析接收存储及发送装置的广播技术方法
- zyString模块1.0源码公开-易语言编程利器
- Android记分板UI设计:SimpleScoreboard的简洁与高效
- 量子网格列设置存储组件:开源解决方案
- 全面技术源码合集:CcVita Php Check v1.1
- 中军创易语言抢购软件:付款功能解析
- Python手动实现图像滤波教程
- MATLAB源代码实现基于DFT的量子传输分析
- 开源程序Hukoch.exe:简化食谱管理与导入功能