素衣清颜淡若尘

c#抽象类与接口的区别

电脑版发表于:2020/7/10 11:49

 1.抽象类可以有构造方法,接口中不能有构造方法。


    2.抽象类中可以有普通成员变量,接口中没有普通成员变量


    3.抽象类中可以包含非抽象的普通方法,接口中的所有方法必须都是抽象的,不能有非抽象的普通方法。


    4. 抽象类中的抽象方法的访问类型可以是public,protected,但接口中的抽象方法只能是public类型的,并且默认即为public abstract类型。


    5. 抽象类中可以包含静态方法,接口中不能包含静态方法


    6. 抽象类和接口中都可以包含静态成员变量,抽象类中的静态成员变量的访问类型可以任意,但接口中定义的变量只能是public static final类型,并且默认即为public static final类型。


    7. 一个类可以实现多个接口,但只能继承一个抽象类。


   8.接口可以用于支持回调,而继承并不具备这个特点.   

   9.抽象类实现的具体方法默认为虚的,但实现接口的类中的接口方法却默认为非虚的,当然您也可以声明为虚的.  


关于TNBLOG
TNBLOG,技术分享。技术交流:群号677373950
ICP备案 :渝ICP备18016597号-1
App store Android
精彩评论
{{item.replyName}}
{{item.content}}
{{item.time}}
{{subpj.replyName}}
@{{subpj.beReplyName}}{{subpj.content}}
{{subpj.time}}
猜你喜欢