黑马程序员技术交流社区
标题:
接口可以有多继承,在java语言上有体现吗?
[打印本页]
作者:
wenbaoxing
时间:
2013-10-28 18:58
标题:
接口可以有多继承,在java语言上有体现吗?
本帖最后由 wenbaoxing 于 2013-10-30 00:47 编辑
我今天偶然想到,多态在我们后面学的集合框架中有明显的体现:多态是父类引用指向自己的子类对象,比如List list=new ArrayList()。
接口的出现使对象有了功能拓展,比如:学多线程技术时,我们让一个类实现Runnable接口,这样就可以把多线程运行的代码放到run方法中,避免了单继承的局限性。
那么我们学到接口可也以多继承,那在我们所学的这么多java类中,有实际的应用吗?
劳烦高手解答,要不然睡不着觉。
请看下面:接口继承多个接口
interface A{
}
interface B{
}
interface C extends A,B{
}
复制代码
我理解的是,上面这个是不是也是正确的,如果正确的是否还有应用?
作者:
胡志翔
时间:
2013-10-28 19:47
JAVA中没有多继承,而用接口实现了多继承!
一个类或是可以同时实现多个接口!(就相当于C++里一个类同时继承了多个类!)
类1
public class Example1 {
public String getName() {
return "luffyke"
}
}
复制代码
类2
public class Example2 {
public int getAge() {
return 25
}
}
复制代码
类3
public class MainExample {
public class Test1 extends Example1 {
public String getName() {
return super.getName();
}
}
public class Test2 extends Example2 {
public int getAge() {
return super.getAge();
}
}
public String showName() {
return new Test1().getName();
}
public int showAge() {
return new Test2().getAge();
}
public static void main(String args[]) {
MainExample example = newMainExample();
System.out.println("姓名:" + example.showName());
System.out.println("年龄:" + example.showAge());
}
}
复制代码
注意看类三,里面分别实现了两个内部类 Test1,和Test2 ,Test1类又继承了Example1,Test2继承了Example2,这样我们的类三MainExample就拥有了Example1和 Example2的方法和属性,也就间接地实现了多继承。
作者:
零下五度的水
时间:
2013-10-29 11:45
java.lang.reflect包中 public final class Constructor<T> extends AccessibleObject implements GenericDeclaration, Member {...
一个接口代表一个功能,比如一个士兵,当过海军,也当过陆军,那他的个人资料就该实现海军接口和陆军接口,表示海军和陆军会的事他都会
作者:
那得好好想想
时间:
2013-10-29 12:04
当然有实际应用啦。例如著名的 BufferedReader类 他就实现了两个接口Closeable, Readable
作者:
To
时间:
2013-10-29 21:43
楼主你好,如果问题已解决请将帖子状态修改为提问结束,
如果未解决请继续追问,谢谢合作
修改方法请看解释帖:
http://bbs.itheima.com/thread-89313-1-1.html
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2