Java面试必备知识点:基础题库详解

需积分: 3 1 下载量 183 浏览量 更新于2024-07-19 收藏 623KB DOC 举报
"这是一本关于Java开发面试的指南,涵盖了从基础到高级的各类Java面试题目,旨在帮助Java开发者提升面试技巧,顺利跳槽或入职新公司。" Java面试涉及的知识点广泛,以下是对部分内容的详细解释: 1. **Java源文件与类的关系**:一个.java源文件可以包含多个类,但只能有一个公共类(public class),其他非公共类(如private、包级私有等)的数量不限。 2. **goto关键字**:Java中没有goto关键字,它不符合Java的面向对象设计原则。 3. **&和&&的区别**:&是逻辑按位与,无论两侧条件如何都会进行运算;&&是逻辑与,只有当左侧表达式为真时才会评估右侧。 4. **跳出多重嵌套循环**:使用`break`语句可以跳出当前的多重嵌套循环,但无法直接跳出外层循环,需要配合标签使用。 5. **switch语句的适用范围**:switch不支持byte、long,但自Java 7开始,可以支持字符串(String)。 6. **short变量增加**:`short s1 = 1; s1 = s1 + 1;` 错误,因为加法操作会自动提升到int类型,需要强制类型转换。而`s1 += 1;`会自动处理类型转换。 7. **char存储中文字符**:char类型可以存储一个Unicode字符,因此理论上可以存储中文汉字。 8. **效率计算2乘以8**:最有效率的方式是直接写`2 * 8`。 9. **设计大数计算器**:设计一个能处理大数的计算器需要考虑数字的存储方式、进位规则、加减乘除的算法等。 10. **final关键字**:final修饰的变量,其引用一旦初始化后不可改变,但如果是对象,则对象的内容可以改变,只要不改变引用。 11. **"=="与equals的区别**:"=="比较的是两个对象的引用,而equals方法比较的是内容是否相等。 12. **静态变量与实例变量**:静态变量属于类,而实例变量属于类的每个实例。静态变量被所有实例共享,实例变量是每个实例独有的。 13. **静态方法与非静态方法**:静态方法不能直接访问非静态成员,因为非静态成员依赖于对象实例。 14. **Integer与int**:Integer是int的包装类,用于处理对象和基本类型的转换,还有缓存机制。int是原始类型,直接存储数值。 15. **Math.round()方法**:Math.round(11.5)等于12,Math.round(-11.5)等于-11。 16. **代码不妥之处**:未给出具体代码,但可能涉及到变量未声明、类型不匹配等问题。 17. **作用域**:public作用域可以在任何地方访问,private只能在类内部访问,protected在类及子类和同一包内可见,无修饰词默认为包级私有。 18. **Overload与Override**:Overload是重载,允许方法名相同但参数列表不同;Override是重写,子类方法必须与父类方法签名完全一致并覆盖其行为。重载不改变返回值类型。 19. **构造器不可被override**:构造器不能被重写,但可以被重载。 20. **接口与继承关系**:接口可以继承接口,抽象类可以实现接口,但抽象类不能继承具体类。 21. **clone方法**:在实现Cloneable接口的类中,通常需要重写Object类的clone()方法,并调用super.clone()。 22. **面向对象特征**:封装、继承、多态是面向对象的主要特征。 23. **Java多态机制**:多态是通过接口、抽象类和方法的重写来实现的,允许使用父类引用指向子类对象。 24. **abstractclass与interface**:抽象类可以有方法实现,可以有非抽象方法和字段;接口只定义方法签名,不能有方法实现,字段默认为public static final。 25. **abstract与static、native、synchronized**:抽象方法不能是static或native,也不能是synchronized。 26. **内部类**:内部类是定义在另一个类中的类,分为静态内部类(Static Nested Class)和非静态内部类(Inner Class)。静态内部类不依赖外部类的实例,而非静态内部类需要外部类实例。 27. **内部类与外部类成员**:内部类可以直接访问外部类的所有成员,包括私有成员。 28. **匿名内部类**:没有名字的内部类,通常用于简洁地实现接口或继承类。 以上内容只是Java面试中的一部分,完整的面试准备还需要涵盖异常处理、集合框架、多线程、IO流、网络编程、设计模式、JVM原理等多个方面。
2017-08-01 上传