下面是一个关于java多态的代码,我没看懂是什么意思,希望各位大神帮忙解答一下?
packagee;//10.6多态publicclassB{privateB[]b=newB[6];privateintc=0;publicvoida(Bargs){//...
package e;
//10.6 多态
public class B {
private B[] b=new B[6];
private int c=0;
public void a(B args) { //定义a方法,参数类型为本类对象
if(c<b.length) {
b[c]=args;
System.out.println(c);
c++;
}
}
public static void main(String[] args) {
B b=new B();
b.a(new C());
b.a(new D());
//此处我知道是向上转型,我只是不知道输出结果中的1是哪来的
}
}
package e;
public class C extends B {
public C() {
System.out.println("123");
}
}
package e;
public class D extends B {
public D() {
System.out.println("321");
}
}
输出结果:
123
0
321
1 展开
//10.6 多态
public class B {
private B[] b=new B[6];
private int c=0;
public void a(B args) { //定义a方法,参数类型为本类对象
if(c<b.length) {
b[c]=args;
System.out.println(c);
c++;
}
}
public static void main(String[] args) {
B b=new B();
b.a(new C());
b.a(new D());
//此处我知道是向上转型,我只是不知道输出结果中的1是哪来的
}
}
package e;
public class C extends B {
public C() {
System.out.println("123");
}
}
package e;
public class D extends B {
public D() {
System.out.println("321");
}
}
输出结果:
123
0
321
1 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询