下面关于接口的说法中不正确的是
如图所示,请对正确的选项做出详细解答,错误的选项指出错误原因,以及implement与interface的区别,如何区分两者,谢谢
D,接口不能实例化。 implement与interface的区别?不应该是 接口与抽象类的区别么
java里继承用extends,而实现接口用implement,不像c#里全用冒号
D是错的,接口和抽象类都不可以实例化
package testinterface;
public class main {
static public void main(String[] args)
{
testmain testmain1=new testmain();
testmain1.methodAbs1();
testmain1.methodAbs2();
testmain1.methodAbs3();
testmain1.methodAbs4();
}
}
Java中接口的正确选项是:接口作为返回值类型时,返回它的子类对象。
关于implement和interface的区别,implement是实现接口的关键字,用于让类实现某个接口的方法;而interface是接口的关键字,用于定义一个规范,规范了实现了该接口的类需要如何实现某些方法,从而可以实现多态性和代码重用。
在代码中,如果我们要声明一个接口需要使用interface关键字,并且不需要指定接口的访问权限,因为默认就是public,如下所示:
public interface MyInterface {
// 接口方法
void method1();
void method2();
}
如果我们要让类实现某个接口,则需要在类声明的时候使用implements关键字,并实现该接口的所有方法,如下所示:
public class MyClass implements MyInterface {
// 实现接口方法
public void method1() {
// do something
}
public void method2() {
// do something
}
}
最后需要注意的一点是,接口作为方法参数时,可以传递实现了该接口的子类对象,因为子类实现了接口的所有方法;接口作为返回值类型时,可以返回实现了该接口的子类对象,因为子类是接口的实现类。具体见参考资料中的代码示例。