Java面试必备知识:基础篇

4星 · 超过85%的资源 需积分: 16 9 下载量 51 浏览量 更新于2024-07-27 收藏 989KB PDF 举报
"Java程序员面试宝典2011最新出炉.pdf" 这是一份针对Java软件工程师面试准备的综合指南,包含了2011年更新的面试知识点。这份宝典旨在帮助Java开发者全面复习和掌握Java语言的关键概念和技术,以应对各种面试挑战。 1. Java基础部分: - 一个.java源文件可以包含多个类,但只能有一个公共类(public class),且文件名必须与公共类名一致。 - Java没有goto语句,这是为了保持代码的流程控制更清晰,避免复杂的跳转。 - &是位运算符,&&是逻辑运算符。&会始终计算两边的操作数,而&&会根据左操作数决定是否计算右操作数,这称为短路逻辑。 - 要跳出多重嵌套循环,可以使用break语句配合标签(label)来指定退出哪个循环。 - switch语句不能直接作用于byte,但可以通过强制类型转换使用;在Java 7及之后的版本,可以作用于String。 2. 数据类型和变量: - short s1=1; s1=s1+1; 错误,因为结果会自动提升为int类型,需要进行类型转换。而s1+=1则自动处理了类型转换。 - char型变量可以存储中文字符,因为UTF-16编码下每个汉字占用两个字节。 - 最有效率的计算2乘以8的方法是直接写2 * 8。 3. 类和对象: - final关键字修饰变量时,意味着引用一旦赋值后不可改变,但引用的对象状态可以改变。 - "=="比较的是对象的引用,equals方法比较的是对象的内容。 - 静态变量属于类,实例变量属于对象。静态变量被所有实例共享,实例变量只属于特定实例。 - 不能从static方法内部直接调用非static方法,因为static方法与类关联,而非static方法与对象关联。 4. 泛型和数据类型: - Integer与int的区别在于,Integer是对象,int是原始类型,Integer提供了更多方法,如缓存小数值等。 - Math.round(11.5)等于12,Math.round(-11.5)等于-11。 - 内部类的代码示例不完整,但通常内部类可以访问外部类的成员,包括私有成员。 5. 访问修饰符: - public, private, protected以及默认访问修饰符决定了类、方法和字段的可见性范围。 6. 方法和继承: - Overload(重载)是指同一类中方法名相同但参数列表不同的方法,返回类型可以不同。Override(重写)是指子类覆盖父类中的方法,方法名、参数列表和返回类型必须完全一致。 - 构造器不能被override,但可以重载。 - 接口可以继承其他接口,抽象类可以实现接口,但不能继承具体类。抽象类可以有静态的main方法。 7. 其他概念: - clone()方法通常会调用super.clone()来创建对象的副本。 - 面向对象的特征包括封装、继承、多态。 - Java通过方法重写和抽象类/接口实现多态。 - abstract class和interface的主要区别在于abstract class可以包含方法实现,而interface只能定义方法签名。 - abstract method不能是static、native或synchronized,因为这些特性与抽象方法的定义冲突。 - 内部类是嵌套在另一个类内部的类,StaticNestedClass是静态内部类,不需要外部类的实例即可创建,而InnerClass是非静态内部类,需要外部类实例。 这份面试宝典涵盖了广泛的Java知识,对于准备面试的Java开发者来说,是一份非常有价值的参考资料。通过学习和理解这些知识点,开发者能够更好地理解Java的核心概念,提高面试成功率。