关于java类多态的说法正确的是
时间: 2023-08-31 22:06:34 浏览: 50
Java中的多态是指同一个方法名可以被不同的对象调用,而产生不同的行为结果。正确的关于Java类多态的说法有:
1. 多态是基于继承和接口实现的。子类可以继承父类的方法,并且可以重写这些方法,从而实现多态。
2. 在多态中,父类的引用可以指向子类的对象,从而实现对子类对象的访问和调用。
3. 在多态中,调用哪个方法是在运行期间决定的,而不是在编译期间决定的。这种运行期间的决定叫做动态绑定或运行时绑定。
4. 多态可以使代码更加灵活和可扩展,减少了代码的耦合性,提高了代码的可维护性和可读性。
5. 多态只适用于方法,不适用于属性。也就是说,无论父类引用指向哪个子类对象,访问的属性都是父类中定义的属性。
例如,下面是一个简单的Java多态的例子:
```
public class Animal {
public void makeSound() {
System.out.println("动物发出叫声");
}
}
public class Dog extends Animal {
public void makeSound() {
System.out.println("狗发出汪汪声");
}
}
public class Cat extends Animal {
public void makeSound() {
System.out.println("猫发出喵喵声");
}
}
public class Test {
public static void main(String[] args) {
Animal animal1 = new Dog();
Animal animal2 = new Cat();
animal1.makeSound();
animal2.makeSound();
}
}
输出结果为:
```
狗发出汪汪声
猫发出喵喵声
```
在上面的例子中,Animal是父类,Dog和Cat是Animal的两个子类。在main方法中,使用Animal类型的引用分别指向Dog和Cat的对象,然后分别调用它们的makeSound方法。由于动态绑定的存在,实际上会调用Dog和Cat的makeSound方法,从而产生不同的行为结果。