接口主要是提供解决问题的方法,当然也是由于Java不支持多重继承而产生的
而抽象类是不能直接New的,必须通过继承来使用
比如你要实现一个队列,你定义了一个接口
interface DuiLie(){
//进队
public void put(){
}
//出队
public void get(){
}
}
然后,由于队列可以有多种实现方式,比如通过数组,或是通过链表
这样你只需继承DuiLie这个接口,重载这两个方法,用不同的方法实现就可以了
能用接口的地方尽量用接口,因为一方面Java不支持多重继承,另一方面不方便类的上塑造型。我也是凭自己的理解,做出这点解释,希望能起到抛砖引玉的效果
而抽象类是不能直接New的,必须通过继承来使用
比如你要实现一个队列,你定义了一个接口
interface DuiLie(){
//进队
public void put(){
}
//出队
public void get(){
}
}
然后,由于队列可以有多种实现方式,比如通过数组,或是通过链表
这样你只需继承DuiLie这个接口,重载这两个方法,用不同的方法实现就可以了
能用接口的地方尽量用接口,因为一方面Java不支持多重继承,另一方面不方便类的上塑造型。我也是凭自己的理解,做出这点解释,希望能起到抛砖引玉的效果
2。接口中的所有方法都只是申明。并不能实现,且是public的。抽象类
则不然。如果有一个方法是抽象的,那么这个类必须是抽象的。