淘先锋技术网

首页 1 2 3 4 5 6 7

Java是一门面向对象的编程语言,多态和重写是其中非常重要的两个概念。

多态是指不同的对象可以用相同的接口进行操作,这样可以提高代码的灵活性和通用性,减少了代码的重复性。Java中实现多态主要靠两个机制:继承和接口。

// 父类Animal
public class Animal {
public void move() {
System.out.println("动物在移动");
}
}
// 子类Dog
public class Dog extends Animal {
public void move() {
System.out.println("狗在跑");
}
public void bark() {
System.out.println("狗在叫");
}
}
// 子类Cat
public class Cat extends Animal {
public void move() {
System.out.println("猫在走");
}
public void scratch() {
System.out.println("猫在抓");
}
}
// 多态的应用
public class PolymorphismDemo {
public static void main(String[] args) {
Animal animal1 = new Dog();
Animal animal2 = new Cat();
animal1.move();
animal2.move();
}
}

以上代码中, Animal是一个父类,Dog和Cat是它的子类,它们都有自己的move方法。在PolymorphismDemo中,我们用Animal类型的变量去引用Dog和Cat类型的对象,最终调用它们的move方法,这就是多态。

重写是指子类中重写了父类的某个方法,这样在调用该方法时将调用子类的方法而不是父类的方法。

// 父类Animal
public class Animal {
public void move() {
System.out.println("动物在移动");
}
}
// 子类Dog
public class Dog extends Animal {
public void move() {
System.out.println("狗在跑");
}
}
// 重写的应用
public class OverrideDemo {
public static void main(String[] args) {
Animal animal = new Dog();
animal.move();
}
}

以上代码中,我们在Dog类中重写了Animal类的move方法,最终调用move方法时将会调用Dog类中的方法而不是Animal类中的方法。