Java面试必备知识:基础篇

需积分: 1 0 下载量 40 浏览量 更新于2024-07-22 收藏 123KB DOCX 举报
"Java面试宝典2014包含了丰富的Java基础知识和面试常见问题,涵盖了类与文件结构、关键字理解、运算符与控制结构、异常处理、数据类型、内存管理等多个方面,旨在帮助求职者准备Java相关的技术面试。" 1. 一个.java源文件可以包含多个类,但只能有一个公共类(public class),其他的类可以是非公开的(non-public)。如果源文件中没有公共类,那么可以有任意数量的非公共类。 2. Java语言中没有goto语句,这与C/C++等语言不同。Java鼓励使用更安全的控制结构,如break、continue和return。 3. &和&&都是逻辑运算符,但使用上有区别。&是按位与运算符,而&&是逻辑与运算符,它具有短路特性,即如果第一个操作数为假,不会计算第二个操作数。 4. 跳出多重嵌套循环,可以使用break语句配合标签(label)来实现,例如:`outer: for (...) { inner: for (...) { ... break outer; } }` 5. switch语句不能直接作用于byte和long类型,但可以作用于char和所有枚举类型。Java 7以后,switch也可以作用于字符串(String)。 6. 在shorts1=1; s1=s1+1; 这一行,s1+1的结果会自动提升为int类型,导致编译错误。而s1+=1;是合法的,因为编译器会自动处理类型转换。 7. char型变量可以存储一个中文汉字,因为Java的char类型是16位的,可以表示Unicode字符集中的大部分字符,包括汉字。 8. 计算2乘以8最有效率的方式是直接写2 * 8。 9. 设计一个能处理一百亿的计算器,需要考虑大整数运算,可能需要使用BigInteger类,并考虑内存管理和性能优化。 10. 使用final关键字修饰变量时,意味着该引用一旦赋值后就不能再指向其他对象,但引用的对象内容是可以改变的。 11. "=="比较的是变量的值,equals方法比较的是对象的内容。基本类型比较使用"==",对象比较推荐使用equals。 12. 静态变量属于类,实例变量属于类的实例。静态变量被所有实例共享,而实例变量在每个实例中都有自己的副本。 13. 不能从静态方法内部直接调用非静态方法,因为静态方法与类关联,而非静态方法与类的实例关联。 14. Integer是int的包装类,它们在使用和功能上有区别,比如Integer可以作为对象,而int则不能。 15. Math.round(11.5)等于12,Math.round(-11.5)等于-11。 16. 代码不妥之处可能是未提供具体代码,无法分析。 17. public、private、protected和默认访问权限的区别在于访问范围:public是全局访问,private是本类内访问,protected是同包和子类访问,无修饰符(默认)是同包访问。 18. Overload是重载,允许方法名相同但参数列表不同;Override是重写,子类方法覆盖父类方法。重载不改变返回类型,而重写必须保持返回类型一致。 19. 构造器Constructor不能被override,但可以被重载。 20. 接口可以继承接口,抽象类可以实现接口,但不能继承具体类。抽象类中的main方法可以是静态的,但通常main方法用于程序入口,不需要实例化。 21. 实现Cloneable接口的类在重写clone()方法时,通常会包含`super.clone()`以完成对象复制。 22. 面向对象的特征包括封装、继承、多态和抽象。 23. Java通过方法重写(Override)和方法重载(Overload)实现多态。 24. abstract class是抽象类,可以包含抽象方法和非抽象方法,不能实例化;interface是接口,只包含抽象方法,可以多继承。 25. abstract method不能同时是static、native或synchronized,因为这些修饰符与抽象方法的概念冲突。 26. 内部类是定义在另一个类内部的类,分为非静态嵌套类(InnerClass)和静态嵌套类(StaticNestedClass)。非静态嵌套类可以直接访问外部类的私有成员,而静态嵌套类不能。 27. 内部类可以引用其包含类的成员,但非静态内部类需要外部类的实例才能创建,静态内部类可以直接通过外部类创建。 28. 匿名内部类没有名字,常用于创建一次性使用的类,可以实现接口或继承类,但不能声明为static、final或abstract。 以上只是部分内容的解析,完整版的《Java面试宝典2014》会涵盖更多主题,如异常处理、集合框架、多线程、I/O流、网络编程、设计模式等,对于Java开发者来说,是准备面试的重要参考资料。