温馨提示×

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

小云
93
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