[英]About Java Assignment Operator
如果我定义
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?
}
我不确定第一个错误,看起来不错。 您将来应该在其中发布确切的错误消息。 您永远不应忽略错误消息,因为它们会告诉您有关问题原因的信息。 第二个错误是显而易见的,它是类型不匹配 : C
不会extends B
,因此您不能将C
的实例分配给声明为B
的引用。 要修复它,您应该将其声明为C
, A
或Object
(因为它是所有类的隐式超类)。
此外,由于构造函数名为A()
而不是C()
,因此您的class C
无法编译,但这很可能是复制粘贴错误;)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.