Java的多态
时间: 2023-07-19 21:14:40 浏览: 45
Java的多态性是指同一种方法定义可以在不同的对象上产生不同的行为。简单来说,就是同一种方法可以在不同的对象上表现出不同的行为。Java中实现多态性的方式主要有两种:方法重载和方法重写。
1. 方法重载:在同一个类中定义多个同名方法,但是参数列表不同,即参数个数、类型或者顺序不同。编译器根据参数列表的不同,自动选择调用对应的方法。
例如:
```
public class Test {
public int add(int a, int b) {
return a + b;
}
public double add(double a, double b) {
return a + b;
}
}
```
在上面的例子中,Test类定义了两个同名方法add,但是参数列表不同。当调用add方法时,编译器会根据参数列表的不同自动选择调用对应的方法。
2. 方法重写:子类可以重写父类的方法,即在子类中定义一个与父类中同名、同参数列表、同返回类型的方法,但是方法体不同。当调用该方法时,实际执行的是子类中的方法。
例如:
```
public class Animal {
public void move() {
System.out.println("动物在移动");
}
}
public class Dog extends Animal {
public void move() {
System.out.println("狗在跑");
}
}
```
在上面的例子中,Animal类定义了一个move方法,而Dog类继承Animal类并重写了move方法。当调用move方法时,如果是Animal类的实例调用,则执行Animal类中的move方法;如果是Dog类的实例调用,则执行Dog类中的move方法。
总之,Java的多态性可以通过方法重载和方法重写两种方式来实现。通过多态性,可以编写更加灵活、可扩展、可维护的代码,提高代码的重用性和可读性。