【Java SE】 带你走近Java的抽象类与接口
在Java中,抽象类和接口都用于定义规范和结构,但它们之间有显著的不同。
抽象类(Abstract Class):
- 可以包含抽象方法和非抽象方法。
- 抽象类不能被实例化。
- 子类使用
extends
关键字继承抽象类。 - 子类必须实现抽象类中的抽象方法,除非子类也是抽象类。
接口(Interface):
- 只能包含抽象方法和静态常量。
- 接口不能含有成员变量,除了静态常量。
- 类使用
implements
关键字实现接口。 - 实现类必须实现接口中的所有抽象方法。
代码示例:
抽象类:
public abstract class Animal {
public abstract void makeSound();
public void sleep() {
System.out.println("Zzz");
}
}
public class Dog extends Animal {
@Override
public void makeSound() {
System.out.println("Woof");
}
}
接口:
public interface Movable {
void move();
}
public class Car implements Movable {
@Override
public void move() {
System.out.println("Car is moving.");
}
}
评论已关闭