Revised: Jan./4th/2002: Since: Dec./30th/2001
$BA0@a(B$B$G8+$?DL$j!"%5%V%/%i%9$O%9!<%Q!<%/%i%9$r4^$s$G$$$k$N$G!"%5%V%/%i%97?$N%*%V%8%'%/%H$r;2>H$9$kJQ?t$O%9!<%Q!<%/%i%97?$NJQ?t$KBeF~$G$-$^$9!#$D$^$j!"%5%V%/%i%9$N%$%s%9%?%s%9$X$N;2>H$,!"%9!<%Q!<%/%i%97?JQ?t$K%3%T!<$G$-$k$H8@$&$3$H$G$9!#(B
$B$=$N5U$K!"%9!<%Q!<%/%i%9$N%*%V%8%'%/%H$r;2>H$9$kJQ?t$O!"%5%V%/%i%97?$NJQ?t$KBeF~$G$-$k$H$O8B$j$^$;$s!#=PMh$k>l9g$G$"$C$F$b!"L@<(E*$J7?JQ49$D$^$j(B$B%-%c%9%H(B$B$,I,MW$G$9!#(B
SuperClass A | O.K.: SubClass ------> SuperClass O.K. | | NO or Cast | | NO or Cast: SuperClass ----> SubClass | V SubClass
$B7Q>54X78$K8B$i$:!"DL>o$O(B$B0[$J$k;2>H7?JQ?t4V$NBeF~$K$O%-%c%9%H$,I,MW(B$B$G$9!#4pK\%G!<%?7?$NJQ?t$N(B$B%-%c%9%H(B$B$HF1$8$G$9!#(B
objKo
$B$K;2>H$rBeF~$7$^$9!#(BobjOya
$B$KBeF~$7$F$$$^$9(BobjOyaToKo
$B$KBeF~$7D>$7$F$$$^$9!#(BobjOya
$B$,;2>H$7$F$$$k
class TestCastObj { public static void main(String[] args) { //$B%$%s%9%?%s%92=(B Ko objKo=new Ko(); //$B;2>H$NBeF~(B Oya objOya=objKo; objOya.getMsgOya(); // objOya.getMsgKo(); //Ko$B%/%i%97?JQ?tDj5A(B Ko objOyaToKo; //$B%-%c%9%H(B objOyaToKo=(Ko)objOya; objOyaToKo.getMsgKo(); } } class Oya { void getMsgOya() { System.out.println("$B?F%/%i%9!#(B"); } } class Ko extends Oya { void getMsgKo() { System.out.println("$B;R%/%i%9!#(B"); } }
$B;2>H$7$F$$$k
C:\Java>javac TestCastObj.java C:\Java>java TestCastObj $B?F%/%i%9!#(B $B;R%/%i%9!#(B
$B$3$N%5%s%W%k$O!"I8=`%/%i%9%i%$%V%i%j$G$"$k(B Object
$B%/%i%9$,A4$F$N%/%i%9$N%9!<%Q!<%/%i%9$J$N$G!"$3$N7?$NJQ?t$OG$0U$N%/%i%97?$NJQ?t$rBeF~$G$-$^$9!#$3$N@-
ObjTest.java
:
class ObjStore {
private Object obj;
public void setObj(Object arg) {
obj = arg;
}
public Object getObj() {
return obj;
}
}
class ObjTest {
public static void main(String[] args) {
//$B%F%9%HMQ$N%*%V%8%'%/%H(B
String str = new String("Hello!");
//ObjStore$B%/%i%9$N%*%V%8%'%/%H(B
ObjStore perm = new ObjStore();
//$B;2>H7?JQ?t$N%a%=%C%I8F$S=P$7BeF~(B
perm.setObj(str);
//$B%a%=%C%I$NLa$jCM$N%-%c%9%H(B
String str2 = (String)perm.getObj();
System.out.println(str);
System.out.println(str2);
}
}
setObj()
$B%a%=%C%I$O!"0z?t$N7?$,(B Object
$B7?$KDj5A$5$l$F$$$^$9$N$G!"G$0U$N%/%i%97?$NJQ?t$,0z?t$H$7$F2DG=$G$9!#C"$7!"Object $B7?$K<+F07?JQ49$5$l$^$9!#(BObject
$B7?$K<+F07?JQ49$5$l$?%*%V%8%'%/%H$r(B getObj()
$B$G%2%C%H$7$^$9$,!"La$jCM$O$d$O$j(B Object
$B7?$G$9!#$7$+$7!"$3$N%*%V%8%'%/%H$O<+J,$G%;%C%H$7$?$b$N$G$"$j!"7?$,(B String
$B$G$"$k$HJ,$+$C$F$$$k$N$G!"%-%c%9%H$7$F(B String
$B7?$KLa$7$F$+$i
C:\Java>javac ObjTest.java
C:\Java>java ObjTest
Hello!
Hello!
C:\Java>
Vector
$B%/%i%9(B$B$r4JC1$K$7$?$b$N$K2a$.$^$;$s!#$3$N%/%i%9$O2DJQD9$NG[Ns$r:n$j$^$9$,!"$=$NMWAG$O(B Object
$B7?$GDj5A$5$l$F$$$^$9!#$I$s$J%/%i%97?$N;2>H$G$bBeF~$G$-$^$9$,!"Object $B7?$GLa$C$F$/$k$N$G!"(B Vector
$B%/%i%97?%*%V%8%'%/%H$NMWAG$r%*%V%8%'%/%H$H$7$FMxMQ$9$k$H$-$K$O!"E,@Z$K%-%c%9%H$9$kI,MW$,$"$j$^$9!#(B
Copyright © 2001 SUGAI, Manabu. All Rights Reserved.
SEO | [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送 | ||