一、接口
使用背景:
接口是把公共实例(非静态)方法和属性组合起来,以封装特定功能的一个集合。一且定义了接
口,就可以在类中实现它。这样,类就可以支持接口所指定的所有属性和成员;
与普通类相比:
1.接口成员没有访问修饰符
2.接口成员没有实体;
3.接口成员必须由引用该接口的类实现,并且是私有的
4.接口不能有构造函数
二、抽象类
使用背景:
当不希望父类被实例化,且仅让父类充当某些功能的媒介时,可以使用抽象类,抽象类与普通实例类差别很小,在不包含抽象成员的情况下,除了不能被实例化,其他都差不多,在包含了抽象成员后,继承于此抽象类的派生类必须要实现基类的抽象成员
与普通类相比:
1.抽象类不能被实例化,但可以存在构造函数,在构造函数上与普通实例类并无不同
2.抽象成员只能存在于抽象类中,但是抽象类可以存在于实例类中
三、静态类
使用背景:
当一个类中的成员都是静态成员的时候,我们常常使用静态类的方式
与普通类相比:
1.静态类不能实例化,不能有构造函数,但可以有一个静态构造函数
2.静态类的成员只能是静态成员