Java面试必备知识点解析

需积分: 16 1 下载量 140 浏览量 更新于2024-07-26 收藏 771KB PDF 举报
"Java面试葵花宝典包含了Java面试中的基础、JSP、HTML、XML、数据库、框架等多个领域的经典问答,提供了详细的解答,旨在帮助求职者全面准备Java面试。 一、Java基础部分: 1. Java源文件可以包含多个类,但只能有一个公开的(public)类,其他类可以是非公开的(非public)。 2. Java中没有goto语句,这与C/C++不同,Java鼓励使用结构化的控制流程。 3. &是按位与运算符,&&是逻辑与运算符。&始终会计算两边的操作数,而&&会在左操作数为假时短路,不会计算右操作数。 4. 要跳出多重嵌套循环,可以使用标记(label)配合break语句。 5. switch语句不能作用于byte,但Java 7之后可以作用于char和字符串(String)。 6. 对于short类型的变量,使用s1=s1+1会导致数据溢出,因为隐式转换为int类型;而s1+=1会自动处理类型转换。 7. char类型可以存储单个Unicode字符,因此可以存储中文汉字。 8. 计算2乘以8的最有效率方法是直接使用*运算符:int result = 2 * 8。 9. 设计一个一百亿的计算器要考虑数值溢出问题,可以使用BigInteger类处理大整数。 10. 使用final修饰变量,意味着该变量一旦赋值后就不能再改变,如果是引用类型,则引用本身不能变,但引用的对象状态可以变。 11. "=="比较的是对象的引用,而equals方法比较的是对象的内容。 12. 静态变量属于类,实例变量属于对象。静态变量可以被类的所有实例共享,实例变量仅在创建的对象中存在。 13. 不可以从static方法内部直接调用非static方法,因为static方法与类关联,而非static方法与对象关联。 14. Integer是int的包装类,它们之间有自动装箱拆箱机制。Integer对象在一定范围内有缓存,效率上低于int。 15. Math.round(11.5)等于12,Math.round(-11.5)等于-11,四舍五入处理。 16. 未提供代码,无法分析不妥之处。 17. public表示全局访问,private表示私有访问,protected表示包内和子类访问,无修饰符表示默认包内访问。 18. Overload是重载,可以改变参数列表;Override是覆盖,不能改变返回类型。重载方法不能改变返回类型。 19. 构造器不能被override,但可以被重载。 20. 接口可以继承接口,抽象类可以实现接口,抽象类也可以继承具体类。静态的main方法在抽象类中是可以的。 21. 实现克隆时,通常会调用super.clone()来创建对象副本。 22. 面向对象的特征包括封装、继承、多态。 23. Java通过方法重写(Override)和父类引用指向子类对象来实现多态。 24. abstract class和interface都可以定义抽象方法,但abstract class可以有非抽象方法和成员变量,可以实现接口,而interface不能有方法实现,只能声明常量和抽象方法。 25. abstract method不能同时是static、native或synchronized,因为这些修饰符与抽象方法的定义冲突。 26. 内部类是定义在另一个类内部的类,StaticNestedClass是静态嵌套类,它像其他静态成员一样存在;InnerClass是非静态内部类,需要外部类的实例才能创建。 27. 内部类可以直接访问外部类的成员,包括私有成员,但外部类不能直接访问内部类的非静态成员,除非有实例引用。 以上是Java面试葵花宝典的部分内容,涵盖了基础语法、面向对象、异常处理、集合框架、多线程等方面,对于准备Java面试的程序员来说是宝贵的参考资料。"