class Test4{
int a=2;
public static void main(String[] args){
Test4 test4=new Test4();
Test4 test5=new Test5();
System.out.println("test4_a="+test4.a);
System.out.println("test5_a="+test5.a);
System.out.println(test4.a==test5.a);
}
}
class Test5 extends Test4{
float a=2.0f;
}
這兩個屬性的類型是不一樣的。爲什麼「test4.a == test5.a」仍然是真的? 請詳細說明子類的屬性。謝謝!子類的哪個類型的屬性不能被繼承?
因爲'2.0'和'2'是相同的數字,'=='運算符比較它的兩個操作數的值。 – 2012-07-27 12:46:41
一個是int,另一個是float.How它們可以是相同的數字嗎? – Europa 2012-07-27 12:48:03
'float'和'int'是它們的類型,而不是它們的值。兩個變量只需要具有相同的值來滿足'=='。 – 2012-07-27 12:49:00