Java面试必备知识点解析

版权申诉
0 下载量 144 浏览量 更新于2024-08-09 收藏 644KB DOC 举报
"Java面试宝典包含了Java开发语言的基础知识、语法特性、面向对象特性、类与对象、接口、多态性、内部类等核心概念,是准备Java面试的重要参考资料。" 1. Java源文件可以包含多个类,但只能有一个公共类(public class),其他类可以是非公共的。 2. Java语言中没有`goto`语句,它采用控制结构如`break`、`continue`和`return`来实现类似的功能。 3. `&`是逻辑与运算符,无论两边条件如何都会执行,而`&&`是短路与运算符,如果左侧为假,右侧就不会被执行。 4. 使用`break`语句可以从多重嵌套循环中跳出,`return`也可以结束整个方法并返回结果。 5. `switch`语句不能用于`byte`、`long`和`String`,但在Java 7以后,`switch`支持了`String`,但仍然不支持`byte`和`long`。 6. 在short变量中,直接赋值`s1=s1+1`会导致类型提升,可能超出short范围,因此需要强制类型转换;而`s1+=1`会自动处理类型提升。 7. char变量可以存储单个中文字符,因为UTF-16编码每个中文字符占两个字节。 8. 计算2乘以8最有效率的方式是直接写`2 * 8`。 9. 设计一个亿级计算器需要考虑大整数运算,可以使用BigInteger类。 10. `final`修饰变量时,变量的引用不能改变,如果是对象,对象的内容也不能改变。 11. `==`比较的是对象的引用,而`equals()`比较的是对象的内容(除非重写)。 12. 静态变量属于类,实例变量属于对象;静态变量被所有实例共享,实例变量仅属于特定实例。 13. 不可以从`static`方法内部直接调用非`static`方法,因为`static`方法与类关联,而非`static`方法与对象关联。 14. `Integer`是对象,`int`是基本类型,`Integer`封装了`int`,且`Integer`支持更多的方法。 15. `Math.round(11.5)`等于12,`Math.round(-11.5)`等于-11。 16. 未提供代码,无法分析不妥之处。 17. `public`表示全局访问,`private`表示私有,`protected`表示包内及子类可访问,不写时表示包内访问。 18. Overload是重载,不改变方法签名;Override是重写,必须保持方法签名一致。Overloaded方法可以改变返回值类型。 19. 构造器不能被override,但可以重载。 20. 接口可以继承接口;抽象类可以实现接口;抽象类可以继承具体类;抽象类中可以有静态的`main`方法。 21. 实现`clone()`方法时,通常会先调用`super.clone()`。 22. 面向对象的特征包括封装、继承、多态。 23. Java通过方法重写(Override)和抽象类或接口实现多态。 24. `abstract class`可以有方法实现,可以有字段,而`interface`只能定义常量和抽象方法。 25. `abstract`的method不能是`static`,不能是`native`,也不能是`synchronized`。 26. 内部类是定义在另一个类内部的类,StaticNestedClass是静态内部类,不需要外部类实例即可创建;Inner Class是普通内部类,需要外部类实例。 27. 内部类可以引用其包含类的成员,包括私有成员,但静态内部类不能直接访问非静态成员。 这些知识点涵盖了Java编程语言的核心概念,对于理解Java编程和准备面试非常有帮助。深入掌握这些内容,将有助于提升Java开发者的技术水平。