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