我对此事仍然有些困惑。我到目前为止发现的是
(这里已经问过类似的问题,但我还有其他几点。)
接口是仅抽象方法和最终字段的集合。
Java中没有多重继承。
接口可用于在Java中实现多重继承。
继承的一个强项是我们可以在派生类中使用基类的代码,而无需再次编写。可能这是继承在那里最重要的事情。
现在..
Q1。由于接口仅具有抽象方法(无代码),因此如何说如果实现任何接口,那么它就是继承?我们没有使用它的代码。
Q2。如果实现接口不是继承,那么如何使用接口实现多重继承?
Q3。无论如何,使用接口有什么好处?他们没有任何代码。我们需要在实现它的所有类中一次又一次地编写代码。
那为什么要制作接口呢?
注意:我发现一种接口有用的情况。它的一个示例就像在Runnable接口中,我们有public void run()方法,其中定义了线程的功能,并且内置了编码,该方法将作为单独的线程运行。所以我们只需要编写在线程中做什么的代码,Rest是预先定义的。但是,这也可以使用抽象类和所有类来实现。
那么使用接口的确切好处是什么?使用接口实现的真的是多重继承吗?
接口是最终静态字段和抽象方法的集合(新Java 8增加了对在接口中具有静态方法的支持)。
当我们知道必须完成某些任务但应该如何完成时,就可以创建接口。换句话说,我们可以说我们实现了接口,以便我们的类以特定的方式开始表现。
让我举例说明,我们都知道动物是什么。就像狮子是动物,猴子是动物,大象是动物,牛是动物等等。现在我们知道所有动物都吃东西并入睡。但是每只动物可以吃东西或睡觉的方式可能有所不同。就像狮子通过猎杀其他动物而进食一样,在那里牛吃草。但是都吃。这样我们可以有一些伪代码,
interface Animal {
public void eat();
public void sleep();
}
class Lion implements Animal {
public void eat() {
// Lion's way to eat
}
public void sleep(){
// Lion's way to sleep
}
}
class Monkey implements Animal {
public void eat() {
// Monkey's way to eat
}
public void sleep() {
// Monkey's way to sleep
}
}
根据上述伪代码,任何能够进食或睡眠的东西都将被称为动物,或者我们可以说所有动物都必须进食和睡眠,但进食和睡眠的方式取决于动物。
在接口的情况下,我们仅继承行为,而不在类继承的情况下继承实际代码。
Q1。由于接口仅具有抽象方法(无代码),因此如何说如果实现任何接口,那么它就是继承?我们没有使用它的代码。
实现接口是另一种继承。它与类的继承不同,因为继承子类从基类中获取要重用的真实代码。
Q2。如果实现接口不是继承,那么如何使用接口实现多重继承?
据说因为一个类可以实现多个接口。但是我们需要了解,这种继承不同于类的继承。
Q3。无论如何,使用接口有什么好处?他们没有任何代码。我们需要在实现它的所有类中一次又一次地编写代码。
实现一个接口使类必须强制重写其所有抽象方法。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句