谁能给我解释下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中没有限制)
另外像楼主说的接口有时候就像标准,别人可以使用这个标准。对于抽象类也可以算是一个标准,但是用的更多的是用抽象类去实现多态