public abstract class Animal { private String name; public Animal(String name) { this.name = name; } public String getName() { return name; } public abstract void makeSound(); } public class Dog extends Animal { public Dog(String name) { super(name); } public void makeSound() { System.out.println("汪汪汪!"); } } public class Cat extends Animal { public Cat(String name) { super(name); } public void makeSound() { System.out.println("喵喵喵!"); } }
在Java中,抽象、多态和封装是非常重要的概念。
抽象是指将一些基础的、功能相似的类提取出来,形成抽象的类(即抽象类),由子类来具体实现。在Java中,我们可以通过加上abstract关键字来定义一个抽象类,同时把其中一些方法定义成抽象方法,即只有方法名,没有方法体。
多态是指同一个方法名可以被不同的对象调用,产生不同的行为。在Java中,多态分为两种:静态多态(方法重载)和动态多态(方法重写)。
封装是指隐藏类的某些内部细节,只对外提供接口(即公共方法),防止外界直接访问类的内部数据。Java中,我们可以使用public、protected、private等关键字来控制方法和属性的访问权限,提高程序的安全性和封装性。