当先锋百科网

首页 1 2 3 4 5 6 7

Java中的方法名可以具有相同的名称,这是因为面向对象编程中有两个重要的概念:重载和重写。

重载:

重载是指在同一个类中定义两个或以上的方法,它们拥有相同的方法名但参数类型、参数个数或参数顺序不同。这样的方法称为重载方法。当调用重载方法时,Java会根据调用时传入的参数类型和数量自动匹配到对应的方法。

<code>public class OverloadExample {
public void print(int num) {
System.out.println("打印整数:" + num);
}
public void print(String str) {
System.out.println("打印字符串:" + str);
}
public void print(double num1, double num2) {
System.out.println("打印小数:" + num1 + " 和 " + num2);
}
}
OverloadExample oe = new OverloadExample();
oe.print(123);
oe.print("Hello, world!");
oe.print(3.14, 2.72);
</code>

重写:

重写是指在子类中定义一个与父类方法名、返回类型和参数类型完全相同的方法。重写的方法必须与父类方法具有相同的返回类型和参数类型。

<code>public class Parent {
public void sayHello() {
System.out.println("父类方法:Hello!");
}
}
public class Child extends Parent {
public void sayHello() {
System.out.println("子类方法:Hello World!");
}
}
Parent p = new Parent();
Child c = new Child();
p.sayHello();
c.sayHello();
</code>

以上代码执行结果为:

<code>父类方法:Hello!
子类方法:Hello World!
</code>

以上就是Java中重载和重写的方法名相同的介绍。