(经典面试题:OverLoad与Override的区别)
1、方法名、参数、返回值相同。
2、子类方法不能缩小父类方法的访问权限。
3、子类方法不能抛出比父类方法更多的异常(但子类方法可以不抛出异常)。
4、存在于父类和子类之间。
5、方法被定义为final不能被重写。
overload(重载)
1、参数类型、个数、顺序至少有一个不相同。
2、不能重载只有返回值不同的方法名。
3、存在于父类和子类、同类中。
StringBuffer与StringBuilder
Java面试中,最常被人问到的几个问题:
1. java.util.*包的UML结构图。
2. Vector和ArrayList、LinkedList区别 Hashtable 和 HashMap之间的区别
3. String、StringBuffer,StringBuilder之间区别。
--回答--
1.
Collection
|
|_List
| |_LinkedList
| |_ArrayList
| |_Vector
|
|_Set
|
|_Map
| |_HashMap
|
|_Compare,Comparetor
|
|_Dictionary
| |_Hashtable
|_ ...
2. LinkedList内部以链表形式存储数据
ArrayList内部以数组形式存储数据。
Vector同ArrayList,不过它与ArrayList比较起来是thread-safe的。
Hashtable是继承了Dictionary,是线程安全的。HashMap实现了Map接口,不是线程安全的。
如何保证线程安全的?每个修改容器中数据的操作都是同步的(synchronized),因此保证了线程安全。
3. String是长度不可变的,StringBuffer和StringBuilder长度都是可以变化的。
StringBuffer是线程安全的,StringBuilder不是线程安全的。
分享到:
相关推荐
Java编程语言在面试中常常涉及一系列关键概念,这些概念包括方法的重载(overload)与覆盖(override)、接口与抽象类的区别、String、StringBuffer与StringBuilder的特性比较、ArrayList、LinkedList与Vector的差异、...
这在Java中主要通过方法重写(override)和方法重载(overload)实现。方法重写是子类覆盖父类的同名方法,提供不同的实现。方法重载是在同一类中定义多个具有相同名称但参数列表不同的方法。多态提高了代码的灵活性...
String是不可变的,每次修改都会创建新的对象,而StringBuffer(或StringBuilder)是可变的,可以在原有对象上进行修改,减少了对象创建的开销。在需要频繁修改字符串时,应使用StringBuffer(线程安全)或...
五、String、StringBuffer 和 StringBuilder * String 的长度是不可变的。 * StringBuffer 的长度是可变的,如果你对字符串中的内容经常进行操作,特别是内容要修改时,那么使用 StringBuffer, 如果最后需要 ...
3. **String、StringBuffer与StringBuilder的区别**: - String是不可变的,每次修改都会创建新的对象,而StringBuffer和StringBuilder是可变的,它们在内部维护一个字符数组,允许在原地修改。 - 在多线程环境下...
11. **Overload与Override的区别**:方法重载(Overload)是指在同一个类中可以有多个同名方法,但参数列表必须不同(参数个数、类型或顺序不同)。方法重写(Override)发生在子类中,子类方法与父类方法同名同参数...
- `StringBuffer`和`StringBuilder`是可变的,适用于多个线程环境,但`StringBuilder`在单线程环境中通常更快,因为它不需要同步。 4. **ArrayList, Vector, LinkedList的存储性能和特性**: - `ArrayList`基于...
11. **Overload与Override的区别**:Overload是重载,方法名相同但参数列表不同;Override是重写,子类方法覆盖父类方法,签名需完全一致。Overloaded方法可以改变返回值类型,但Override不行。 12. **error与...
17. **Overload 和 Override**:Overload(重载)是在同一类中定义多个同名方法,但参数列表不同;Override(重写)是指子类重新实现父类的同名方法。重载方法可以改变返回类型,但重写方法必须保持返回类型和参数...
18. **String与StringBuilder/StringBuffer**:String是不可变的,每次修改都会创建新对象;StringBuilder和StringBuffer线程不安全,用于构建字符串,效率高于String,其中StringBuffer是线程安全的。 通过学习和...
13. **Overload(重载)与Override(重写)**:重载发生在同一个类中,方法名相同但参数列表不同;重写发生在子类中,方法名、返回类型和参数列表都必须与父类方法一致。 14. **构造器的重载**:构造器可以被重载,...
#### 七、Overload与Override的区别 **关键差异:** - **Overriding(重写):** - 方法签名完全相同。 - 存在于父类与子类之间。 - 子类方法不能减少父类方法的访问权限。 - 子类方法不能抛出比父类方法更多...
Java中的多态性体现在方法重写(override)和方法重载(overload)。 2. **String是否是基本数据类型** - Java的原始数据类型包括byte、int、char等,而String是一个对象,属于引用类型。尽管它在使用上类似于基本...
String 的区别、StringBuffer 与 StringBuilder 的区别、String 的长度、final, finally, finalize 的区别以及 catch, return 与 finally 的执行顺序等内容。这些知识点是学习 Java 编程的基础,对于理解和运用面向...
#### 五、Overload与Override的区别 - **Overload**:方法重载,指在同一类中定义多个同名方法,但它们具有不同的参数列表。重载方法的返回类型可以不同。 - **Override**:方法重写,指在子类中重新定义父类中的...
在 Java 中,Overload(重载)和 Override(重写)是两个重要的概念,它们都是多态性的一种体现,但有着本质的不同。 1. Overload(重载): 重载发生在同一个类中,指的是一个类可以有多个同名的方法,但这些方法...
以下是一些常见的Java面试知识点,涉及JDK、JRE、JVM的区别,以及hashCode()和equals()的关系,String、StringBuffer、StringBuilder的区别,泛型中extends和super的含义,==和equals方法的区别,重载与重写的概念,...
3. Overload(重载)与 Override(重写): - 重载:在同一类中,方法名相同但参数列表不同(参数数量、类型或顺序不同)。 - 重写:发生在子类中,子类重新定义了父类已有的方法,要求方法名、参数列表和返回类型...
10. **Overload(重载)与 Override(重写)** - **重载**:在同一个类中,方法名相同但参数列表不同的多个方法。 - **重写**:子类中定义与父类同名同参的方法,覆盖父类的方法,必须保持方法签名一致。 以上...
13. **Overload与Override的区别**:Overload(重载)是指在同一个类中,方法名相同但参数列表不同的方法;Override(重写)是指子类对父类方法的重新定义,保持方法名、返回类型和参数列表相同,但子类的方法体可能...