码迷,mamicode.com
首页 > 其他好文 > 详细

抽象类和接口的区别

时间:2019-12-19 13:27:32      阅读:91      评论:0      收藏:0      [点我收藏+]

标签:不能   abstract   nal   区别   protected   默认方法   除了   抽象方法   定义静态方法   

抽象类:

  1.含有abstract修饰符的class即为抽象类

  2.abstract类不能创建实例对象

  3.如果一个类中含有abstract修饰的方法,这个类必须定义为abstract class

  4.抽象类中定义的抽象方法必须被子类实现,否则子类也是抽象类。所以不能有抽象的构造方法和抽象的静态方法

 

接口:

  1.接口中所有的方法必须是抽象的

  2.接口中定义的成员变量默认为:public static final修饰

  3.接口中定义的方法默认为:pubilc abstract修饰。而且修饰符只能是public

  4.接口不能被实例化

 

总结下两者的语法区别:

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

  2.抽象类中可以定义普通的成员变量也可以定义静态常量。      接口中只能定义静态常量

  3.抽象类中可以定义抽象方法,也可以定义普通方法。      接口中只能定义抽象方法

  4.抽象类中定义的抽象方法可以用public protected 修饰     接口中值能用public修饰

  5.抽象类中可以定义静态方法    接口中不能定义静态方法(JDK1.8后可以定义静态方法,和默认方法)

  6.一个类可以实现多个接口    但只能继承一个抽象类             接口之间可以有多继承,单接口不能实现接口

 

 

结论:说白了 抽象类除了用abstract修饰和不能被实例化  其他的都和普通类一样              接口中只能有静态常量和抽象方法而且。

抽象类和接口的区别

标签:不能   abstract   nal   区别   protected   默认方法   除了   抽象方法   定义静态方法   

原文地址:https://www.cnblogs.com/LittleBoys/p/12066909.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!