温馨提示×

java类怎样实现继承与多态

小樊
81
2024-11-19 06:37:36
栏目: 编程语言

在Java中,实现继承和多态是面向对象编程的两个重要特性。下面分别介绍它们的实现方式:

  1. 继承(Inheritance)

继承允许一个类(子类)继承另一个类(父类)的属性和方法。这样,子类可以重用父类的代码,同时还可以扩展和覆盖父类的方法。要实现继承,需要在子类的定义前使用extends关键字。

示例:

// 父类
class Animal {
    public void eat() {
        System.out.println("Animal is eating");
    }
}

// 子类
class Dog extends Animal {
    // 继承父类的eat()方法
    @Override
    public void eat() {
        System.out.println("Dog is eating");
    }

    // 新增方法
    public void bark() {
        System.out.println("Dog is barking");
    }
}

public class Main {
    public static void main(String[] args) {
        Dog dog = new Dog();
        dog.eat(); // 输出 "Dog is eating"
        dog.bark(); // 输出 "Dog is barking"
    }
}
  1. 多态(Polymorphism)

多态是指不同类的对象可以通过相同的接口进行调用,从而实现不同的行为。多态的实现主要依赖于接口和父类引用。

示例:

// 父类
class Animal {
    public void makeSound() {
        System.out.println("Animal makes a sound");
    }
}

// 子类1
class Dog extends Animal {
    @Override
    public void makeSound() {
        System.out.println("Dog barks");
    }
}

// 子类2
class Cat extends Animal {
    @Override
    public void makeSound() {
        System.out.println("Cat meows");
    }
}

public class Main {
    public static void main(String[] args) {
        Animal myAnimal = new Dog(); // 使用父类引用指向子类对象
        myAnimal.makeSound(); // 输出 "Dog barks"

        myAnimal = new Cat(); // 修改父类引用的指向
        myAnimal.makeSound(); // 输出 "Cat meows"
    }
}

在这个例子中,我们使用父类引用myAnimal分别指向子类DogCat的对象。当我们调用myAnimal.makeSound()方法时,会根据实际的对象类型(DogCat)输出不同的结果,这就是多态的体现。

0