java – 它是多重继承吗?如果不是为什么?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – 它是多重继承吗?如果不是为什么?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1676字,纯文字阅读大概需要3分钟。
内容图文
![java – 它是多重继承吗?如果不是为什么?](/upload/InfoBanner/zyjiaocheng/732/c03253b37c8b4b9fb8aa6ec490c7144a.jpg)
public interface A {
class Aclass {
int constants = 100;
public void display()
{
System.out.println("Inside A");
}
}
public void display();
}
public interface B {
class Bclass {
int constants = 130;
public void display() {
System.out.println("Inside B");
}
}
public void display();
}
public class MultipleInheritance implements A, B {
@Override
public void display() {
A.Aclass a = new A.Aclass();
System.out.println(a.constants);
B.Bclass b = new B.Bclass();
System.out.println(b.constants);
}
public static void main(String args[]) {
new MultipleInheritance().display();
}
}
虽然它是通过接口,而不是通过上下文中的具体类,你不继承任何东西,但仍然不是代码重用,即使保持内部类很难,但它仍然充当多重继承请用内存表示清除如果可能的话.
解决方法:
让我们回顾一下您在代码中实际拥有的内容.在这里,您声明接口A和嵌套类AClass:
public interface A {
class Aclass {
int constants = 100;
public void display()
{
System.out.println("Inside A");
}
}
public void display();
}
在这里,您声明接口B和嵌套类Bclass:
public interface B {
class Bclass {
int constants = 130;
public void display() {
System.out.println("Inside B");
}
}
public void display();
}
在这里你实例化Aclass:
A.Aclass a = new A.Aclass();
在这里你实例化Bclass:
B.Bclass b = new B.Bclass();
现在请注意,Aclass和Bclass是两个完全不相关的类.这两个共享的唯一常见超类型是Object.
显然,在您甚至不尝试从两种类型继承的情况下,不会谈论多重继承.
在这里,您至少尝试涉及两种超类型:
public class MultipleInheritance implements A, B { ... }
但是你从不在代码中涉及这种类型,它只是main方法的容器.这种类型在实现两个接口时,不会多次从它们继承:它继承了两种不同的类型(Aclass,Bclass).还要注意,即使它们具有相同的名称,仍然没有多重继承.只会发生命名冲突.
多重继承严格来说是方法实现的继承,显然你无法在Java中实现这一点.
内容总结
以上是互联网集市为您收集整理的java – 它是多重继承吗?如果不是为什么?全部内容,希望文章能够帮你解决java – 它是多重继承吗?如果不是为什么?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。