1楼:梓坠狼
1.接口可以多重继承 ,抽象类不可以
2.接口定义方法,不给实现;而抽象类可以实现部分方法3.接口中基本数据类型的数据成员,都默认为static和final,抽象类则不是
如果事先知道某种东西会成为基础类,
那么第一个选择就是把它变成一个接口。
只有在必须使用方法定义或者成员变量的时候,才应考虑采用抽象类。
2楼:候奕琛巩鸾
简单来说,
接口是公开的,里面不能有私有的方法或变量,是用于让别人使用的,而抽象类是可以有私有方法或私有变量的,
另外,实现接口的一定要实现接口里定义的所有方法,而实现抽象类可以有选择地重写需要用到的方法,一般的应用里,最顶级的是接口,然后是抽象类实现接口,最后才到具体类实现。
还有,接口可以实现多重继承,而一个类只能继承一个超类,但可以通过继承多个接口实现多重继承,接口还有标识(里面没有任何方法,如remote接口)和数据共享(里面的变量全是常量)的作用.
PHP接口和抽象类的区别,php抽象类和接口的区别
1楼 匿名用户 抽象类 抽象类是用来捕捉子类的通用特性的 。它不能被实例化,只能被用作子类的超类。抽象类是被用来创建继承层级里子类的模板。 接口 接口是抽象方法的集合。如果一个类实现了某个接口,那么它就继承了这个接口的抽象方法。这就像契约模式,如果实现了这个接口,那么就必须确保使用这些方法。 接口只...
java中抽象类和接口的区别,java抽象类和接口的区别?
1楼 匿名用户 java中对的抽象类和接口对的区别 抽象类 抽象类内允许有普通变量和普通方法 抽象类必须有abstract关键字 抽象类内可以没有抽象方法,但不能实例化 抽象类内有抽象方法的一定是抽象类 抽象类不能被实例化,但是有构造方法 派生类可以扩展 。 接口 接口只声明,没有方法体,如 pub...
php中抽象类和接口的区别,java中抽象类和接口的区别?
1楼 越勒 区别 1 对接口的使用是通过关键字implements。对抽象类的使用是通过关键字extends。 当然接口也可以通过关键字extends继承。 2 接口中不可以声明成员变量 包括类静态变量 ,但是可以声明类常量。抽象类中可以声明各种类型成员变量,实现数 java中抽象类和接口的区别? ...