Java笔试必备知识重点梳理

需积分: 0 0 下载量 177 浏览量 更新于2024-07-24 收藏 739KB DOC 举报
"JAVA笔试宝典是一本针对Java程序员面试和笔试准备的指南,涵盖了Java基础知识、语法特性、面向对象编程、类与接口、异常处理、多线程、内存管理等多个方面的问题。这本书旨在帮助读者深入理解Java语言,并提供常见面试题的解答,提升求职竞争力。" 1. 一个".java"源文件中可以包含多个类,但只能有一个公共类(public class),其他类可以是非公共类,没有类名与文件名相同的限制。 2. Java语言中没有goto语句,它遵循结构化编程原则,鼓励使用流程控制结构如if、for、while和switch等来替代goto。 3. &是按位与运算符,&&是逻辑与运算符。前者对两个操作数的每个比特位进行比较,后者仅当两边的操作数都为真时结果才为真,且具有短路特性。 4. 在Java中,跳出多重嵌套循环可以使用break语句配合标签(label)实现,例如:`outer: for {...} inner: for {...} { if (condition) break outer; }` 5. switch语句不能作用在byte上,但在Java 7之后可以作用于char,从Java 11开始还可以作用于字符串(String)。 6. 对于short类型的变量,直接赋值`s1=s1+1`会导致数据溢出,因为+1操作会先转换成int类型,应使用`s1 += 1`以保持类型不变。 7. char型变量可以存储一个中文汉字,因为一个中文汉字在Unicode编码中通常占用两个字节,与char类型匹配。 8. 最有效率计算2乘以8的方法是直接写`2 * 8`,因为这是编译器优化后的基本算术运算。 9. 设计一个一百亿的计算器需要考虑数值精度问题,可能需要使用BigDecimal类处理大整数和高精度浮点数运算。 10. 使用final关键字修饰变量,意味着该变量的引用一旦赋值后不能改变,对于引用类型,这意味着不能指向另一个对象,但引用的对象内容可以变。 11. "=="用于比较基本类型是否相等,而equals方法用于比较对象内容是否相等,对于String类型,还需要注意null值的情况。 12. 静态变量属于类,而实例变量属于对象,静态变量可以被类的所有实例共享,实例变量则与对象实例绑定。 13. 不能从static方法内部直接调用非static方法,因为static方法在没有对象实例的情况下也可以执行,无法访问非static方法需要对象实例才能调用的成员。 14. Integer是int的包装类,它们在使用上有所不同,如自动装箱拆箱、常量池特性等。Integer对象的比较默认使用equals方法,而int值的比较使用"=="。 15. Math.round(11.5)等于12,Math.round(-11.5)等于-11,round方法四舍五入到最接近的整数。 16. 代码的不妥之处可能涉及语法错误、逻辑错误或效率问题,具体需查看代码内容。 17. public表示全局访问,private表示私有,protected表示包内及子类访问,不写时表示包内访问。 18. Overload是重载,方法名相同但参数列表不同;Override是重写,子类方法覆盖父类方法,签名必须一致。重载的方法可以改变返回值类型,但重写不可以。 19. 构造器Constructor不能被override,但可以被重载。 20. 接口可以继承接口,抽象类可以实现接口,抽象类也可以继承具体类,抽象类中的main方法可以是静态的,但不构成Java应用程序的入口点。 21. 实现clone()方法时,通常会有`super.clone()`调用来创建一个对象的副本。 22. 面向对象的特征包括封装、继承和多态。 23. Java通过方法重写(Override)和接口实现来实现多态。 24. abstract class和interface都可以声明抽象方法,但abstract class可以包含非抽象方法和成员变量,而interface只能声明公共抽象方法和常量。 25. abstract方法不能是static、native或synchronized,因为这些特性与抽象方法的定义冲突。 26. 内部类是嵌套在另一个类内部的类,分为静态内部类(StaticNestedClass)和非静态内部类(Inner Class)。静态内部类可以直接被实例化,无需外部类的实例,而非静态内部类需要外部类的实例才能创建。 27. 内部类可以引用其包含类的成员,包括私有成员,但非静态内部类不能直接访问静态成员,需要通过外部类实例访问。 以上是Java笔试宝典中涉及到的一些重要知识点,涵盖了Java的基础语法、面向对象特性和高级特性,这些都是Java程序员需要掌握的核心概念。