- 在面向对象中,所有对象都是通过类来描述的,但并不是所有类都是用来描述对象的,如果一个类中没有包含足够的信息来描述一个具体的对象,这个类就是抽象类
- 接口所有东西都是抽象的,所有方法都是抽象方法,没有任何实现。
abstract class Fruit {
double weight;
double volume;
abstract String getTaste();
}
interface Packable{
void pack();
}
interface Divisible {
void divisible();
}
class Apple extends Fruit implements Packable {
String getTaste() {
return "sweet";
}
public void pack() {
System.out.println("pack apple");
}
}
总结:抽象类时一种功能不全的类,接口只是一个抽象方法声明和静态不能被修改的数据的集合,两者都不能被示例化。从某种意义上说,接口是一种特殊形式的抽象类,在Java语言中,抽象类表示一种继承关系,一个类只能继承一个抽象类,却可以实现多个接口。