不同类中方法名重名会相互干扰吗
时间: 2023-08-01 16:15:20 浏览: 50
不同类中方法名重名不会相互干扰,因为方法名相同并不意味着这些方法是同一个方法。在Java中,方法是根据方法名和参数列表中的参数类型来确定的。
当不同类中的方法名相同但是参数列表不同的时候,这些方法被称为方法重载。在方法重载中,Java编译器会根据方法的参数类型和数量来确定调用哪个方法。
例如:
```
public class A {
public void print(int num) {
System.out.println("A: " + num);
}
}
public class B {
public void print(String str) {
System.out.println("B: " + str);
}
}
```
在这个例子中,类`A`和类`B`中都有一个名为`print`的方法,但是参数列表不同,一个是`int`类型,一个是`String`类型。因此,这两个方法是不同的方法,不会相互干扰。
当我们调用这两个方法的时候,Java编译器会根据参数类型来确定调用哪个方法。例如:
```
A a = new A();
B b = new B();
a.print(10); // 调用类A的print方法
b.print("hello"); // 调用类B的print方法
```
在这个例子中,我们分别创建了类`A`和类`B`的对象,并调用它们的`print`方法。Java编译器会根据参数类型来确定调用哪个方法,因此会分别调用类`A`的`print`方法和类`B`的`print`方法,不会相互干扰。