0
点赞
收藏
分享

微信扫一扫

go 中的斐波那契数实现以及效率比较

进击的铁雾 2024-11-02 阅读 13

Java中的抽象类

抽象类(Abstract Class)是Java中用于定义某种概念框架或者共通基础的类,它不能被实例化,只能作为基类被继承。抽象类中可以包含抽象方法和普通方法,抽象方法是没有方法体的方法,用abstract关键字声明。

如何编写抽象类

抽象类使用abstract关键字定义,可以包含非抽象方法(具体方法)、属性和抽象方法。抽象方法只能声明,不能实现。

public abstract class Animal {
    // 属性
    private String name;

    // 非抽象方法
    public void eat() {
        System.out.println(this.name + " is eating.");
    }

    // 抽象方法
    public abstract void makeSound();

    // 构造方法
    public Animal(String name) {
        this.name = name;
    }
}
如何使用抽象类

抽象类不能被实例化,但是可以被继承。子类需要实现抽象类中的所有抽象方法。

public class Dog extends Animal {
    public Dog(String name) {
        super(name);
    }

    // 实现抽象方法
    @Override
    public void makeSound() {
        System.out.println(this.name + " says Woof!");
    }
}

public class Cat extends Animal {
    public Cat(String name) {
        super(name);
    }

    // 实现抽象方法
    @Override
    public void makeSound() {
        System.out.println(this.name + " says Meow!");
    }
}
使用抽象类

在主程序中,可以用抽象类类型来定义变量,并指向其子类的实例。

public class Main {
    public static void main(String[] args) {
        Animal dog = new Dog("Buddy");
        dog.eat();
        dog.makeSound();

        Animal cat = new Cat("Whiskers");
        cat.eat();
        cat.makeSound();
    }
}

这段代码中,Animal是抽象类,DogCat是它的子类,实现了makeSound()这个抽象方法。在主方法中,我们通过Animal类型引用了DogCat的对象,这是抽象类的一个常见用途:提供一种多态性的实现方式。

举报

相关推荐

0 条评论