父类对象与子类对象相互转化的条件是什么?如何实现它们的相互转化?
( x) _$ ?3 g# L8 z0 A一个子类对象也可以被合法地视为一个父类的对象,即一个父类对象的引用,其指向的内存单元可能实际上是一个子类的对象。在这种情况下,可以使用强制类型转换,将父类对象的引用转换成实际的子类对象的引用。
7 S2 \( b, \$ V m 6 r" i& K6 E9 _3 v- y
以下代码共创建了几个对象: 2 # P# {. R+ W& ]5 }* Z
String s1=new String(“hello”);0 V/ i; a5 x. r, p( N
String s2=new String(“hello”);" n5 b8 R3 F& w
String s3=s1;
+ L: i6 e7 r/ N% G% G3 q( F) a" ^- D+ @String s4=s2;/ r. C' i4 U) }
2 r: ]" e) l2 o8 q分析以下代码,编译时出现什么现象: The local variable myArg may not have been initialized* M) i4 V0 A, ^: T7 g
public class Test {
) ?, W8 D0 J9 Vstatic int myArg = 1;- X4 T: M7 i+ f( t: b% x- J. ~) B
public static void main(String[] args) {+ `" f. J: \* L" w0 e
int myArg;
5 `( O9 U! Z- w3 i; B9 Y2 \1 ^System.out.println(myArg);: e/ @# E" d* t4 p
}
" g. R3 @$ p& z% r} |