java抽象类
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.
抽象类的作用是为多个相关的子类定义一个共同的接口,子类可以根据自己的需求来实现抽象类中的抽象方法,从而实现多态性。