Java面试必备知识精粹

需积分: 0 0 下载量 166 浏览量 更新于2024-07-21 收藏 1.12MB PDF 举报
"Java面试宝典2013" Java面试是评估求职者技能的关键环节,涵盖了许多核心概念和技术。以下是对标题和描述中提到的部分Java知识点的详细解释: 1. **Java源文件与类**:一个.java文件可以包含多个类,但只能有一个公共类(public class),且文件名需与这个公共类名一致。 2. **goto关键字**:Java中没有goto关键字,它遵循结构化编程原则,鼓励使用流程控制结构如if、for、while等。 3. **&与&&的区别**:&是逻辑与运算符,无论两边表达式是否为真都会执行;&&也是逻辑与,但只有当左边表达式为真时才会执行右边。 4. **跳出多重嵌套循环**:使用`break`语句可以跳出最近的一层循环,而`return`不仅可以退出当前方法,还可以结束整个程序的执行。 5. **switch语句**:switch适用于byte、short、char和int类型,以及枚举类型。Java 7以后,还可以用于String类型。 6. **short变量加法**:直接赋值`s1=s1+1`会隐式提升为int类型,可能超出short范围,需要强制类型转换;`s1+=1`是复合赋值操作,编译器会自动处理类型转换。 7. **char存储中文**:char类型可以存储单个Unicode字符,包括中文汉字。 8. **效率计算2*8**:直接使用`2 * 8`即可,Java会自动进行计算。 9. **设计大数计算器**:需要考虑大数的存储和运算,可以使用String或自定义数据结构,以及对应的加减乘除算法。 10. **final修饰变量**:final修饰的变量,其引用一旦赋值后不可变,但如果是引用类型,引用的对象内容可以变。 11. **"=="与equals**:"=="比较的是对象的引用,equals默认比较的是内容,但可以重写。 12. **静态变量与实例变量**:静态变量属于类,实例变量属于对象,生命周期和作用域不同。 13. **static方法调用非static方法**:不允许,因为static方法与类关联,而非static方法与对象关联。 14. **Integer与int**:Integer是int的包装类,涉及对象创建和自动装箱拆箱。Integer对象的比较使用equals,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. **构造器重写**:构造器不能被重写,但可以重载。 20. **接口与抽象类**:接口可继承接口,抽象类可实现接口,抽象类可继承具体类,静态main方法不属于任何对象,不能是抽象的。 21. **clone方法**:通常会包含`super.clone()`来创建对象的副本。 22. **面向对象特征**:封装、继承、多态。 23. **多态机制**:通过方法的重写和父类引用指向子类对象实现。 24. **abstractclass与interface**:抽象类可包含实现代码,接口只能声明方法,不能有实现。 25. **abstract与static、native、synchronized**:abstract不能与static、native同时使用,但可以与synchronized结合。 26. **内部类**:内部类是定义在另一个类中的类,分为静态嵌套类(StaticNestedClass)和非静态嵌套类(InnerClass)。静态嵌套类不依赖外部类的实例,而内部类需要。 27. **内部类与外部类成员**:内部类可以直接访问外部类的所有成员,包括私有成员。 28. **匿名内部类**:可以继承类或实现接口,常用于一次性使用的简短类定义,无需声明类名。 以上是Java面试中常见的问题,涵盖了基础语法、面向对象特性、异常处理、集合框架、多线程等多个方面,深入理解这些知识点对于面试和实际开发都至关重要。