Java面试必备:张孝祥精选面试题解析

需积分: 3 1 下载量 171 浏览量 更新于2024-07-29 1 收藏 864KB DOC 举报
"张孝祥的《Java就业面试题大全》涵盖了Java开发中的诸多核心知识点,旨在帮助求职者准备Java程序员的面试。这本书的内容广泛,涉及到Java的基础语法、逻辑控制、数据类型、类和对象、封装、继承、多态等多个方面。以下是书中的部分重点问题和解析: 1. Java基础部分: - 一个".java"源文件可以包含多个类,但只能有一个公共类(public class),且文件名必须与公共类名一致。 - Java没有goto语句,它鼓励使用结构化编程。 - &是位运算符,&&是逻辑运算符。&始终执行两边的操作,而&&仅当左侧为真时才评估右侧。 - 跳出多重嵌套循环,可以使用`break;`配合标签来实现。 - switch语句不能用于byte类型,但Java 7以后可以用于枚举类型;不能用于long类型;Java 7后,通过`switch (String)`支持字符串。 2. 数据类型与运算: - short变量自增操作时,直接赋值`s1 = s1 + 1;`会导致数据溢出,而`s1 += 1;`会自动提升为int类型,避免溢出。 - char类型可以存储单个Unicode字符,包括中文汉字。 3. 控制流与方法: - Math.round()函数用于四舍五入,Math.round(11.5)等于12,Math.round(-11.5)等于-11。 - 作用域:public对所有类可见,private只在本类可见,protected对同一包及子类可见,无修饰符默认为包内可见。 - Overload是重载,可以改变参数列表,但不能改变返回类型;Override是重写,必须保持方法签名一致。 4. 类与对象: - final关键字修饰的变量,其引用一旦赋值后不能改变,但引用的对象属性仍可变。 - static变量属于类,实例变量属于对象。static方法不能直接访问非static成员。 - Integer与int的区别在于,Integer是对象,int是基本数据类型,Integer对象的创建和比较效率低于int。 5. 继承与接口: - 构造器不能被override,但可以重载。 - 接口可以继承其他接口,抽象类可以实现接口,但抽象类不能继承具体类。 - 写clone()方法时,通常会先调用`super.clone()`以获取对象副本。 - 面向对象的特征包括封装、继承、多态。 - Java中通过方法重写和父类引用子类对象实现多态。 - abstract class可以有方法实现,可以声明构造器,但不能有main方法;interface只能声明方法,不能包含实现。 6. 内部类: - 内部类可以直接访问外部类的成员,包括私有成员,但静态内部类(StaticNestedClass)不能直接访问外部类的非静态成员。 - AnonymousInnerClass是匿名内部类,没有类名,通常用于简化创建临时对象。 以上只是部分内容,全书还涉及更多主题,如异常处理、集合框架、线程、IO流、反射、JVM内存管理等,是Java开发者面试前的重要参考资料。"