Java中的抽象类是一种不能被实例化的类,它主要用来作为其他类的基类,为子类提供通用的属性和方法。抽象类可以包含抽象方法和非抽象方法。
使用关键字abstract来定义抽象类。抽象方法在抽象类中只有方法的声明,没有方法的实现。抽象类不能被实例化,只能被继承。
下面是一个简单的抽象类的例子:
abstract class Animal {String name;public Animal(String name) {this.name = name;}public abstract void makeSound();public void eat() {System.out.println(name + " is eating.");}
}class Dog extends Animal {public Dog(String name) {super(name);}public void makeSound() {System.out.println(name + " is barking.");}
}public class Main {public static void main(String[] args) {Dog dog = new Dog("Tom");dog.makeSound();dog.eat();}
}
在上面的例子中,Animal类是一个抽象类,其中定义了一个抽象方法makeSound和一个非抽象方法eat。Dog类继承了Animal类,并实现了makeSound方法。在Main类中创建了Dog的实例,并调用了makeSound方法和eat方法。
输出结果:
Tom is barking.
Tom is eating.
抽象类的作用是为多个相关的子类定义一个共同的接口,子类可以根据自己的需求来实现抽象类中的抽象方法,从而实现多态性。