【发布时间】:2010-07-15 17:49:31
【问题描述】:
如果我定义
class A {
public int a;
public float b;
public A() {
a = 10;
}
}
class B extends A {
public B() {
a = 2;
}
}
class C extends A {
public C() {
b = 2.0f;
}
}
主要是
public static void main(//...) {
A a = new A();
B b = new B();
C c = new C();
a = b; //error?
b = c; //this one too?
}
【问题讨论】:
-
您收到错误还是想知道它是否会产生错误?
-
想知道究竟会发生什么...价值得到分配?或者它只是忽略分配并继续程序到最后?还是突然停止?如果我写了 b = a,那么 b 会发生什么?它将成为 A 类或只是从 A 继承的 b 中的值更改...
-
如果这就是全部问题,您为什么不自己编译和运行它自己并确定错误和/或从错误中吸取教训?
-
哎呀,我不小心按了 delete T T 并不幸删除了其中一个答案……对不起,我不是故意的……
-
嗯,我想知道背后是什么,而不仅仅是结果
标签: java class inheritance