1. 抽象类(abstract)
-
没有方法体的方法 => 抽象方法
-
有抽象方法的类为抽象类
-
抽象类, 方法都要用 abstract 修饰
-
抽象类不能实例化
-
抽象类有构造函数
-
抽象类我们不能实例化, 但 jvm 生成其子类对象时, 会实例化抽象类
2. 接口(interface)
接口中只有静态常量与抽象方法:
- public static final [属性]
- public abstract [方法]
接口可以多实现, 即一个类可以实现多个接口
接口可以继承接口, 并且可以继承多个接口
类可以在继承另一个类的同时实现多个接口
接口与类的区别:
接口 | 类 |
---|---|
体现的是 hava a | 体现的是 is a |
对某个行为抽象 | 对某件事物抽象 |
注意接口的设计的目的是降低耦合, 并不是体现面向对象, 像 C++ 中没有接口的概念, 它一样是面向对象的语言, 类才是体现面向对象思想的东西.
☠