Java面试必备知识点:基础篇

需积分: 9 1 下载量 66 浏览量 更新于2024-07-31 收藏 529KB DOC 举报
"Java面试宝典2010版,涵盖了丰富的Java编程基础知识和面试常见问题,旨在帮助求职者全面掌握Java技术并顺利通过面试。" 这篇内容主要涉及了Java编程语言的基础知识点和面试常问问题,以下是这些知识点的详细说明: 1. Java源文件可以包含多个类,但只能有一个公开的(public)类,其他类可以是非公开的(非public)。 2. Java中没有`goto`语句,这是为了保证代码的可读性和可控性。 3. `&`和`&&`的区别在于,`&`始终会计算两边的表达式,而`&&`(逻辑与)则会在左侧表达式为假时不再计算右侧表达式。 4. 在Java中,可以使用`break`语句跳出多重嵌套循环,通过指定标签(label)可以跳出特定层次的循环。 5. `switch`语句可以作用在`byte`, `char`, `short`, `int`以及枚举类型上,但在Java 7之前不支持`String`,在Java 7及以后版本支持。 6. 对于`short`类型的变量,直接赋值`s1=s1+1`会导致数据溢出,因为结果会被自动提升为`int`类型,应使用`s1+=1`这样的复合赋值操作符。 7. `char`型变量可以存储一个中文汉字,因为UTF-16编码中一个字符可能由两个字节表示。 8. 计算2乘以8最有效率的方法是直接使用`2 * 8`,因为Java中的算术运算符具有很高的效率。 9. 设计一个一百亿的计算器要考虑大数运算、精度控制以及用户交互等问题。 10. `final`关键字修饰的变量,其引用一旦赋值后不能改变,对于对象,这意味着对象本身不能被重新赋值,但对象的属性可以改变。 11. `==`比较的是两个对象的引用,而`equals`方法比较的是两个对象的内容(默认行为,可以重写)。 12. 静态变量属于类,而实例变量属于对象;静态变量在类加载时初始化,实例变量在对象创建时初始化。 13. 不能从静态方法内部直接调用非静态方法,因为静态方法与类关联,而非静态方法与对象关联。 14. `Integer`是包装类,`int`是原始类型,两者之间可以相互转换,`Integer`提供了更多的方法和功能。 15. `Math.round(11.5)`等于12,`Math.round(-11.5)`等于-11。 16. 缺失的代码示例无法分析,但可能涉及语法错误或逻辑问题。 17. `public`、`private`、`protected`和无修饰符分别代表不同的访问权限:公共、私有、受保护和包内可见。 18. Overload(重载)允许方法有相同的名称但参数列表不同,不改变返回值类型;Override(重写)是在子类中重新定义父类的已有的方法,必须保持返回值类型和参数列表一致。 19. 构造器不能被override,但可以重载。 20. 接口可以继承接口;抽象类可以实现接口;抽象类可以继承具体类;抽象类中的`main`方法可以是静态的。 21. 实现`clone()`方法时,通常会调用`super.clone()`来创建对象副本。 22. 面向对象的特征包括封装、继承、多态。 23. Java实现多态主要是通过接口的实现和类的继承,以及方法的重写(Override)。 24. `abstract class`可以包含抽象方法和非抽象方法,而`interface`只包含抽象方法;`abstract`方法不能是`static`或`native`,也不能是`synchronized`。 25. 内部类(Inner Class)是定义在另一个类内部的类,分为静态内部类(Static Nested Class)和非静态内部类。静态内部类可以直接通过类名访问,非静态内部类需要通过外部类的实例来访问。 26. 非静态内部类可以访问外部类的所有成员,包括私有成员;静态内部类只能访问外部类的静态成员。 27. 匿名内部类是没有名字的内部类,通常用于快速实现一个接口或者简洁地定义一个临时的类。 这些问题是Java开发者应该熟悉的基本概念和技能,它们涵盖了语言特性、类与对象、内存管理、继承和多态等多个方面,是Java面试中常见的考点。掌握这些知识有助于提升编程能力,并在面试中表现出扎实的技术功底。