温馨提示×

JAVA抽象类和抽象方法(abstract)实例分析

小云
108
2023-08-16 13:50:53
栏目: 编程语言

抽象类和抽象方法是Java中用于实现抽象化的概念。抽象类是一个不能被实例化的类,它可以包含抽象方法和非抽象方法。抽象方法是一个没有具体实现的方法,它只有方法的声明,没有方法体。下面是一个抽象类和抽象方法的实例分析:

// 定义一个抽象类Animal abstract class Animal { // 定义一个抽象方法 public abstract void sound(); // 定义一个非抽象方法 public void sleep() { System.out.println("Animal is sleeping"); } } // 定义一个继承自Animal的具体类Cat class Cat extends Animal { // 实现抽象方法 public void sound() { System.out.println("Cat makes sound"); } } // 定义一个继承自Animal的具体类Dog class Dog extends Animal { // 实现抽象方法 public void sound() { System.out.println("Dog makes sound"); } } public class Main { public static void main(String[] args) { // 创建一个Cat对象 Cat cat = new Cat(); cat.sound(); // 输出 "Cat makes sound" cat.sleep(); // 输出 "Animal is sleeping" // 创建一个Dog对象 Dog dog = new Dog(); dog.sound(); // 输出 "Dog makes sound" dog.sleep(); // 输出 "Animal is sleeping" } } 

在上面的示例中,我们定义了一个抽象类Animal,它包含一个抽象方法sound()和一个非抽象方法sleep()。抽象方法sound()没有具体的实现,它只有方法的声明。非抽象方法sleep()有具体的实现,它在方法体中打印出一条消息。

然后,我们定义了两个具体类CatDog,它们都继承自抽象类Animal。这两个具体类都实现了抽象方法sound(),并且可以调用抽象类中的非抽象方法sleep()

main方法中,我们创建了一个Cat对象和一个Dog对象,并调用它们的sound()方法和sleep()方法。输出结果分别为"Cat makes sound"、“Animal is sleeping”、“Dog makes sound"和"Animal is sleeping”。

通过这个示例,我们可以看到抽象类和抽象方法的使用。抽象类用于定义一个类的共同特征和行为,而抽象方法用于定义类的行为接口,具体类需要实现这些抽象方法来完成自己的特定行为。

0