Java面试必备:基础题解析与示例

需积分: 9 1 下载量 50 浏览量 更新于2024-09-06 收藏 73KB DOC 举报
"这份文档是针对Java面试准备的一系列问题和答案集合,涵盖了Java基础知识、语法特性、多线程、异常处理、内存管理等多个方面,旨在帮助面试者巩固基础,提升面试成功率。" 1. 多态例子:多态是面向对象编程的重要特性,允许子类对象可以被当作父类对象来使用。例如: ```java class Animal { public void sound() { System.out.println("动物发出声音"); } } class Dog extends Animal { @Override public void sound() { System.out.println("狗汪汪叫"); } } public class Main { public static void main(String[] args) { Animal animal = new Dog(); // 父类引用指向子类实例 animal.sound(); // 输出"狗汪汪叫",体现了多态性 } } ``` 2. Java基本数据类型包括整型(byte, short, int, long)、浮点型(float, double)、字符型(char)和布尔型(boolean)。String是对象,不是基本数据类型,而是类。 3. int是原始数据类型,直接存储值;Integer是int的包装类,存储对象,可以进行自动装箱拆箱操作。 4. String不可变,而StringBuffer是可变的,适合在多线程环境下进行字符串拼接,避免频繁创建新对象。 5. Collection是所有集合接口的父接口,代表单列集合;Collections是工具类,提供了一系列静态方法来操作集合。 6. &是按位与运算符,&&是逻辑与运算符,后者具有短路特性,只有在左操作数为真时才会计算右操作数。 7. Overload表示重载,同一类中方法名相同但参数列表不同的多个方法;Override表示重写,子类方法覆盖父类方法,方法名、返回类型和参数列表必须完全一致。 8. error通常指系统级错误,无法恢复;exception是程序运行时的异常,可以捕获并处理。 9. abstract class可以包含方法实现,而interface只能声明方法,不能包含实现;抽象类可以有构造函数,接口没有。 10. final修饰变量表示常量,不可修改;finally用于异常处理,保证代码块一定会执行;finalize是对象被垃圾收集前的回调方法。 11. assert用于断言,用于测试代码,如果断言的条件不成立,程序会抛出AssertionError。 12. forward是服务器内部跳转,浏览器地址栏不变;redirect是客户端重定向,浏览器地址栏显示新的URL。 13. GC是垃圾收集器,负责回收不再使用的对象,以释放内存。因为Java自动管理内存,所以需要GC防止内存泄漏。 14. shorts1=1;s1=s1+1;会编译错误,因为short与int相加会自动提升为int类型;s1+=1则会自动转换回short类型。 15. Math.round(11.5)等于12,Math.round(-11.5)等于-11。 16. Strings=newString("xyz");创建了1个StringObject。 17. 设计线程同步问题,可以使用synchronized关键字或者Lock接口实现。 18. 启动线程使用start(),run()只是普通方法调用,不会开启新线程。 19. 应用服务器如Tomcat、Jetty、WebLogic、Jboss等。 20. 接口可以继承接口,抽象类可以实现接口,但抽象类不能继承实体类(非抽象类)。 21. Set中使用equals()判断元素是否重复。 22. 构造器不能被重写(override),但可以重载(overload)。 23. 不可以继承String类,因为String是final类。 24. switch不能作用在byte上,也不能作用在long上,但Java 7以后可以作用在String上。 25. try{}后的finally{}代码总会被执行,除非系统退出或抛出未捕获的异常。 26. 最有效率的计算2乘以8的方法是直接计算:int result = 2 * 8。 27. 对象作为参数传递时,总是传递对象引用,方法内可以改变对象属性,但不能改变对象引用。 28. 其他线程是否可以进入synchronized方法取决于同步锁的粒度,如果进入的是对象的synchronized方法,其他线程不能进入该对象的其他synchronized方法。 以上只是部分问题的解答,实际面试中还需要根据具体问题深入讨论和扩展。