引用
方法重载(overloading method)
方法重载是让类以统一的方式处理不同类型数据的一种手段。Java的方法重载,就是在类中可以创建多个方法,它们具有相同的名字,但具有不同的参数和不同的定义。调用方法时通过传递给它们的不同个数和类型的参数来决定具体使用哪个方法, 这就是多态性。下面是一个方法重载的例子:
class MethodOverloading {
void receive(int i) {
System.out.println("Received one int data");
System.out.println("i=" + i);
}
void receive(float f) {
System.out.println("Received one float data");
System.out.println("f=" + f);
}
void receive(String s) {
System.out.println("Received a String");
System.out.println("s=" + s);
}
}
注意,Java的方法重载要求同名的方法必须有不同的参数表,仅有返回类型不同是不足以区分两个重载的方法。
方法重写(overiding method)
在Java中,子类可继承父类中的方法,而不需要重新编写相同的方法。但有时子类并不想原封不动地继承父类的方法,而是想作一定的修改,这就需要采用方法的重写。方法重写又称方法覆盖。若子类中的方法与父类中的某一方法具有相同的方法名、返回类型和参数表,则新方法将覆盖原有的方法。如需父类中原有的方法,可使用super关键字,该关键字引用了当前类的父类。
由此可见:
重载重写都需要方法名相同;
重载要求参数列表不同;
重写要求参数列表、返回值都相同(只存在子类中)。
在一个类中,只有重载,
这样的东西
public class One {
public void A(){}
public int A(){
return 1;
}
}
是无法通过编译的。对于重载而言,并不在乎返回类型。
但是,重载未必在一个类中,子类重载也是可以的。
public class One {
public void A(){}
}
class ChildOne extends One{
//public int A(){} //不伦不类在哪里都不行
public int A(int a){ //重载父类方法
return 1;
}
}
分享到:
相关推荐
Java编程语言中,方法的两种重要特性是方法重载(Overloading)和方法重写(Overriding)。这两种机制都是为了实现多态性,但它们在实际应用中有着明显的区别。 **方法重载(Overloading)**: 方法重载发生在同一...
JAVA 中的方法重写和方法重载是两个重要的概念,在面向对象程序设计语言中尤为重要。方法重写和方法重载都是多态性的体现,但它们之间有着本质的区别。 方法重写(Override)是指在子类中定义的一个方法,其名称、...
在编程语言中,方法重载(Overloading)和方法重写(Overriding)是两个非常重要的概念,它们都是实现多态性(Polymorphism)的关键机制。本文将深入探讨这两个概念,以及它们在实际编程中的应用。 ### 方法重载...
编译器检查对象声明的类型和方法名,从而获取所有候选方法,然后根据方法调用的参数类型来选择唯一的那一个方法。如果编译器找到多于一个或者没找到,此时编译器就会报错。 Java 中的重载和重写是两个非常重要的...
Java中的重载(Overloading)和重写(Overriding)是面向对象编程中两个重要的概念,它们体现了Java的多态性。多态性是面向对象编程的三大特性之一,另外两个是封装和继承。 首先,让我们详细解释一下方法的重载。重载...
总之,Java的重写和重载是面向对象编程的重要特性,它们使得代码更加灵活、可维护。理解并熟练运用这两个概念,将有助于提升我们的编程能力和代码质量。在实际工作中,我们应该根据需求选择合适的机制,以达到最佳的...
Java编程语言中的重载(Overloading)和重写(Overriding)是两个关键的概念,它们都是多态性的重要体现,但各自有着不同的含义和规则。 首先,我们来详细了解一下方法的重载。重载,简单来说,就是在一个类中定义多个...
### Java中的方法重载与重写以及线程概念详解 #### 一、方法重载(Overloading) 在Java中,**方法重载**是指在同一个类中定义多个具有相同名称但参数列表不同的方法。这里提到的“参数列表不同”不仅包括参数的...
JAVA重写和重载(Overriding和Overloading) JAVA中有两种不同的多态性表现形式:重写(Overriding)和重载(Overloading)。下面将对这两种形式进行详细的解释。 重载(Overloading) 重载是指在一个类中可以...
在Java编程语言中,方法的重载(Overloading)与重写(Overriding)是两个非常重要的概念。它们虽然只有一字之差,但其实质却大相径庭。理解这两者的不同对于深入掌握Java语言至关重要。 ### 一、重载(Overloading...
(1)子类的方法的名称及参数必须和所重写的方法完全相同。 (2)子类的方法返回类型必须和所重写的方法相同。 (3)子类方法不能缩小所重写方法的访问权限。 (4)子类方法不能抛出比所覆盖方法更多的...
在Java中,函数的重载(Overloading)和重写(Overriding)是多态性的重要表现形式,它们都是实现面向对象设计原则的关键手段。 1. 重载(Overloading): 重载发生在同一个类中,它允许我们创建多个同名的方法,...
方法重载只可以通过方法名和方法参数来区别,即“方法签名” * @return * @throws NumberFormatException */ public int getSides(Object obj) throws NumberFormatException { return 1; } /** * 2....
理解并熟练掌握方法重写和方法重载是Java编程中的基本技能,它们对于实现多态、代码复用以及提高程序的灵活性和可维护性至关重要。在实际编程中,应根据需求灵活运用这两个特性,以编写出高效且易于维护的代码。
面向对象是Java编程的核心概念,其中“重载”(Overloading)和“重写”(Overriding)是两个至关重要的概念。理解并熟练运用这两个概念,对于提升Java编程能力至关重要。 首先,我们来探讨“重载”。在Java中,...
我根据我的理解来谈谈Java中重写方法与重载方法的区别。 重写 Java 中重写又叫覆盖,主要是指继承(extends)父类或者实现(implements)接口时将父类或者接口中已经存在的方法进行重新定义。重写的方法在父类...
Java中的重载(Overloading)和重写(Overriding)是面向对象编程中的两种关键特性,它们涉及到方法的多态性。理解这两者的区别对于编写高效、可维护的代码至关重要。 **重载(Overloading)**是指在一个类中,可以有多个...
方法重写和重载是两个不同的概念,方法重写是指子类中的方法和父类中继承的方法有完全相同的返回值类型、方法名、参数个数和参数类型,方法重载是指在一个类中,多个方法的方法名相同,但是参数列表不同。...
在设计类和方法时,应当清楚地区分这两种技术的应用场景。 #### 四、最佳实践 - **明确意图**:使用 `@Override` 注解来明确表示重写的方法。 - **保持一致性**:重载方法应该保持相似的逻辑和目的。 - **避免歧义...