"Java面试题,10万字208道Java经典面试题总结(附答案)"

5星 · 超过95%的资源 需积分: 0 44 下载量 33 浏览量 更新于2024-01-20 1 收藏 339KB DOC 举报
final" 修饰一个方法时,该方法不能被子类重写,即该方法成为不可变的最终方法。 (3)用来修饰一个类 当使用 "final" 修饰一个类时,该类不能被继承,即该类成为最终类。 4、抽象类和接口有什么区别?(1)抽象类和接口都不能被实例化,都可以包含方法的声明但不能包含方法的实现。 (2)一个类只能继承一个抽象类,但可以实现多个接口。 (3)接口中的方法默认为 public abstract,字段默认为 public static final。 抽象类中的抽象方法必须被子类实现,接口中的方法必须被实现。 5、什么是多态?多态是指在面向对象的编程语言中,父类引用可以指向子类对象,并在运行时指向其具体的子类,实现不同的表现形式。多态主要分为编译时多态和运行时多态。编译时多态是通过父类引用调用子类对象的方法,运行时多态是通过继承、重写和向上转型实现的。 6、重写和重载有什么区别?重写是子类对父类方法的覆盖,重载是在一个类中对同名方法的多个版本。重写:发生在继承中,子类返回类型和方法参数类型必须与父类一致。重载:发生在一个类中,方法名称相同,但参数列表与返回类型不同。 7、String、StringBuffer 和 StringBuilder 的区别是什么?String 类是不可变的,每次对 String 类的操作都会生成一个新的对象。StringBuffer 和 StringBuilder 是可变的,可以对字符串进行修改,其中 StringBuffer 是线程安全的,而 StringBuilder 则不是线程安全的。 8、静态方法和实例方法有什么区别?静态方法属于类,实例方法属于对象。静态方法在类加载的时候就会存在,不需要创建对象,可以直接通过类名调用。实例方法需要先创建对象,通过对象名调用。 9、什么是线程安全?线程安全是指当多个线程同时访问一个共享资源时,不会出现不确定的结果。在 Java 中可以通过 synchronized 关键字、Lock、Atomic 类等实现线程安全。 10、什么是死锁?死锁是指两个或多个线程互相持有对方需要的资源而陷入相互等待的状态,导致程序无法继续执行。在 Java 中可以使用 jstack、jconsole 工具来排查死锁问题。 通过以上的 Java 面试题总结,我们可以了解到 Java 的基本概念和常见问题,希望大家在面试时能够顺利通过,加油!".