日期:2014-05-20  浏览次数:20670 次

谁能给我解释下JAVA中的抽象类和接口。
谁能给我解释下JAVA中的抽象类和接口。 为什么要用抽象类和接口 ,实在是 搞不明白。 百度了 多少次还是搞不明白,比如:
现在有一个门 ,  他 具有open()和close() 两个功能。 
百度的资料 是  定义一个抽象类 然后继承。  
abstract class Door{ 

abstract void open(); 

abstract void close(); 

… 

} 

然后 继承 
class Door1 exends Door {
   
void open(){}
void close(){}
}

 正如 上面的, 我不用抽象类同样可以实现 呀。 为什么要用 呢。    还有接口,   说是 可以实现 多继承, 但是 接口里面什么都没做呢。   谁给解释下  一直没明白。 本人 搞php开发的, 面向对象  就 这两个让我感到 很是郁闷。 
------解决方案--------------------
在java中有许多的类跟接口可以实现同样的功能,有些人就感觉这个多此一举。但是认真想想,java为了安全的考虑只支持单继承,但是我们的实际开发中,可能需要同时继承两个类,但是java又是不允许。这里接口就发挥作用了,我们可以继承一个类,同时实现一个或多个接口(对于接口实现的个数java中没有限制)
另外像楼主说的接口有时候就像标准,别人可以使用这个标准。对于抽象类也可以算是一个标准,但是用的更多的是用抽象类去实现多态