初学,发现错误望指正。
AbstractClass Class Object
# 抽象类,类,对象,从右往左依次抽象化。将存在的实例抽象化,提取公共部分。
public abstract class Animal {}
public abstract class Dog extends Animal {}
public class Dog2Ha extends Dog {}
Interface Interfaceimpl Class
# 接口,接口实现,类,自左向右以此具体化。将规定好的接口具体化,延伸细节。
public interface AutoCloseable {}
public interface Closeable extends AutoCloseable {}
public final class Scanner implements Iterator<String>, Closeable{}
抽象类和接口的区别:
A:成员区别
抽象类:
成员变量:可以变量,也可以常量
构造方法:有
成员方法:可以抽象,也可以非抽象
接口:
成员变量:只可以常量
构造方法:无
成员方法:只可以抽象
B:关系区别
类与类
继承,单继承,多层继承
类与接口
实现,单实现,多实现
接口与接口
继承,单继承,多继承
C:设计理念区别
抽象类 被继承体现的是:”is a”的关系。抽象类中定义的是该继承体系的共性功能。
接口 被实现体现的是:”like a”的关系。接口中定义的是该继承体系的扩展功能。
https://zhuanlan.zhihu.com/p/115768659