Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java设计中的抽象类V/s接口_Java - Fatal编程技术网

Java设计中的抽象类V/s接口

Java设计中的抽象类V/s接口,java,Java,可能重复: 我是一个Java新手,谁能解释一下抽象类将出现在哪里 有用的和接口将不可用,反之亦然。 我相信不太复杂的问题,两者都能同样轻松地解决问题。 请用外行的话解释,请原谅我的无知 当我们创建接口时,我们基本上是在创建一组方法,而没有任何必须由实现的类重写的实现。其优点是,它提供了一种将类作为两个类的一部分的方法:一个来自继承层次结构,另一个来自接口 当我们创建一个抽象类时,我们正在创建一个基类,该基类可能有一个或多个已完成的方法,但至少有一个或多个方法未完成并声明为抽象。如果一个抽象类的

可能重复:

我是一个Java新手,谁能解释一下抽象类将出现在哪里 有用的和接口将不可用,反之亦然。 我相信不太复杂的问题,两者都能同样轻松地解决问题。
请用外行的话解释,请原谅我的无知

当我们创建接口时,我们基本上是在创建一组方法,而没有任何必须由实现的类重写的实现。其优点是,它提供了一种将类作为两个类的一部分的方法:一个来自继承层次结构,另一个来自接口


当我们创建一个抽象类时,我们正在创建一个基类,该基类可能有一个或多个已完成的方法,但至少有一个或多个方法未完成并声明为抽象。如果一个抽象类的所有方法都是未完成的,那么它就是一个接口。抽象类的目的是为一组派生类的工作方式提供一个基类定义,然后允许程序员在派生类中填充实现。

我对以下逻辑印象深刻-“为什么要使用抽象类,而不是每次都使用接口,从而保持类扩展另一个类的能力,在使用抽象类时,该类会受到损害。”。“任何现实生活中的设计示例都会非常有用!!