Java面试必备:基础题详解

需积分: 10 2 下载量 31 浏览量 更新于2024-07-23 1 收藏 560KB PDF 举报
"Java面试题集锦" Java作为一门广泛使用的编程语言,其面试题涵盖了基础知识、语法特性、面向对象编程、多态、类与接口、异常处理等多个方面。以下是一些关键知识点: 1. Java源文件:一个.java文件可以包含多个类,但只能有一个公共类(public class),其他的类可以是非公共的。 2. goto关键字:Java中没有goto关键字,它不支持这种跳转语句。 3. &和&&的区别:&是按位与运算符,&&是逻辑与运算符。前者在任何情况下都会评估两边的操作数,后者在左操作数为假时不会评估右操作数。 4. 跳出多重嵌套循环:可以使用`break`语句配合标签来跳出多重循环,如`break label;`。 5. switch语句:不能用于byte、long或String类型。Java 7及以后版本可以用于枚举类型,Java 14引入了switch表达式,可以用于字符串。 6. short变量的加法:直接使用`+=`运算符会自动提升变量类型,避免溢出,而`s1 = s1 + 1`会因中间结果超出short范围导致编译错误。 7. char类型与汉字:char类型可以存储单个Unicode字符,包括中文汉字。 8. 计算2乘以8:最有效率的方式是`2 * 8`。 9. 一百亿计算器设计:涉及到大整数运算,可能需要使用BigInteger类。 10. final修饰变量:final修饰的变量的引用不可变,意味着一旦赋值,就不能再指向其他对象。如果是基本类型的final变量,其值也不能更改。 11. "==“与equals方法:==比较的是对象的引用,而equals方法比较的是对象的内容。 12. 静态变量与实例变量:静态变量属于类,由所有实例共享;实例变量属于每个具体的对象。 13. 调用非static方法:不能直接从static方法内部调用非static方法,因为static方法不依赖于任何对象实例。 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()方法:通常会有一行代码`super.clone()`,用于创建并返回对象的一个副本。 22. 面向对象的特征:封装、继承、多态。 23. 多态机制:通过方法重写(Override)和向上转型(Upcasting)实现。 24. abstractclass和interface区别:抽象类可以有方法实现,可以有构造器和非静态成员,而接口只有方法声明,不能有实现和构造器。 25. abstract与static、native、synchronized:抽象方法不能是static或final,不能是native,但可以是synchronized。 26. 内部类:内部类是定义在另一个类中的类,分为静态嵌套类(StaticNestedClass)和非静态嵌套类(InnerClass)。静态嵌套类没有隐含对外部类的引用,而非静态嵌套类可以直接访问外部类的成员。 27. 内部类引用外部类:内部类可以引用外部类的成员,包括静态和非静态,但非静态内部类必须有一个外部类的实例才能被创建。 28. 匿名内部类:可以继承其他类或实现接口,但不能同时做这两件事。 29. super关键字:用于调用父类的构造器、方法或属性。 以上是部分Java面试题涉及的知识点,深入理解并掌握这些概念对于Java开发者来说至关重要,特别是在面试中能有效地展示自己的技能和经验。