A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

抽象类和接口的区别?
1.接口不能有构造方法,抽象类必须有(给子类提供实例的初始化);
2.接口不能有方法体,抽象类可以有,但抽象法不能有方法体;
3.接口不能有静态方法,抽象类可以有静态方法,但不能被abstract修饰;
4.在接口中凡是变量必须是public static final ,而在抽象类中没有要求.

补充:接口是公开的(其方法默认被public abstract修饰;其属性默认被public static final修饰),里面不能有私有的方法和变量,方法和变量是用于让别人来实现、继承的,而抽象类是可以有私有方法或私有变量的。另外,实现接口的一定要现实接口里定义的所有方法,而现实抽象类可以有选择的重写需要用到的方法,一般的应用里,最顶级的是接口,然后是抽象类实现接口,最后才到具体类实现,还有,接口可以实现多继承,而一个类只能单继承,但通过implements多实现几个接口,接口还有标识和数据共享(接口里面的变量全是常量)的作用。
欢迎各位指点不足!!!

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马