instanceof $B1i;;;R(B

Revised: Mar./9th/2002

$BA0@a$^$G$G8+$F$-$?DL$j!"%*%V%8%'%/%H7?JQ?tF1;N$NBeF~$,5v$5$l$k$N$O!";2>H$9$k%*%V%8%'%/%H$,!"$=$N%/%i%97?$KBP1~$9$k%$%s%9%?%s%9$r;}$C$F$$$k$+$I$&$+$G$9!#%5%V%/%i%9$r%$%s%9%?%s%92=$7$?%*%V%8%'%/%H$O!"L@$i$+$K%9!<%Q!<%/%i%9$N%$%s%9%?%s%9$r4^$s$G$$$k$N$G!"%5%V%/%i%97?%*%V%8%'%/%H$O%9!<%Q!<%/%i%97?JQ?t$KBeF~$G$-$^$9!#$=$N5U$O!"I,$:$7$b2DG=$G$O$J$/!"2DG=$G$"$C$F$bL@<(E*$K%-%c%9%H$,I,MW$G$7$?!#(B

$B%*%V%8%'%/%H$,!"FCDj$N%/%i%9$N%$%s%9%?%s%9$r4^$s$G$$$k$N$+I>2A$9$k$N$,(B intstanceof $B1i;;;R$G$9!#1i;;;R$N:8JU$KG$0U$N;2>H!"1&JU$K$O%/%i%9!?G[Ns!?%$%s%?%U%'!<%9$r5-=R$7$^$9!#(B

InstanceTest.java:

//Date $B%/%i%9$N%$%s%]!<%H(B
import java.util.Date;
class InstanceTest {
	public static void main(String[] args) {
		Date obj = new Date();
		boolean bln = (obj instanceof Date);
		System.out.println(bln);
		System.out.println(obj);
	}
}

$B$3$3$G$OI8=`%/%i%9%i%$%V%i%j$N(B Date $B%/%i%9$r%$%s%9%?%s%92=$7$F$$$^$9!#$3$N%/%i%9$rMxMQ$9$k$?$a$K$O!"#29TL\$N$h$&$K!"$3$N%/%i%9$,4^$^$l$F$$$k(B$B%Q%C%1!<%8(B$B$bL@<($7$?(B$B40A48BDjL>(B$B$r(B$B%$%s%]!<%H(B$B$9$k$N$,IaDL$G$9!#(B

$B$3$N$h$&$K$7$F:n$C$?%*%V%8%'%/%H$r;2>H$9$kJQ?t(B obj $B$,!"K\Ev$K(B Date $B%/%i%9$N%$%s%9%?%s%9$r;2>H$7$F$$$k$N$+%A%'%C%/$7$F$$$^$9!#(B

C:\Java>javac InstanceTest.java
C:\Java>java InstanceTest
true
Sat Mar 09 22:34:54 JST 2002

$B%$%s%9%?%s%9$N3NG'(B

java.lang.Object $B%/%i%9$OA4$F$N%/%i%97Q>53,AX$N%H%C%W$G$9$+$i!"$3$N7?$NJQ?t$K$OG$0U$N%/%i%97?$NCM$rBeF~$G$-$^$9!#

InstanceChk.java:

class Sml1 {
	void whois() {
		System.out.println("Sml1$B$G$9!#(B");
	}
}
class Sml2 {
	void whois() {
		System.out.println("Sml2$B$G$9!#(B");
	}
}
class InstanceChk {
	public static void main(String[] args) {
		//$B%$%s%9%?%s%92=(B
		Sml1 obj1 = new Sml1();
		Sml2 obj2 = new Sml2();
		//$B%a%=%C%I8F$S=P$7(B
		obj1.whois();
		objChk(obj1);
		obj2.whois();
		objChk(obj2);
	}
	static void objChk(Object obj) {
		if (obj instanceof Sml1) {
			System.out.println("$B$3$N%/%i%9$OCN$C$F$$$^$9!#(B");
		} else {
			System.out.println("$B$=$s$J%/%i%9$OCN$j$^$;$s!#(B");
		}
	}
}

$BFs$D$N%/%i%9$r:n@.$7!"$=$l$rJL!9$K%$%s%9%?%s%92=$7$F$$$^$9!#$=$l$>$l$N%*%V%8%'%/%H$r;2>H$9$kJQ?t$r!"(B java.lang.Object $B7?$H$7$F%a%=%C%I0z?t$KEO$7$F!"$=$N%$%s%9%?%s%9$r%A%'%C%/$7$F$$$^$9!#(B

C:\Java>javac InstanceChk.java
C:\Java>java InstanceChk
Sml1$B$G$9!#(B
$B$3$N%/%i%9$OCN$C$F$$$^$9!#(B
Sml2$B$G$9!#(B
$B$=$s$J%/%i%9$OCN$j$^$;$s!#(B

$B%-%c%9%H$H%$%s%9%?%s%9(B

$B%5%V%/%i%97?%*%V%8%'%/%H$X$N;2>H$O!"%9!<%Q!<%/%i%97?JQ?t$KBeF~$G$-$^$9!#$3$N>l9g$OL@<(E*$J7?JQ49$OI,MW$J$/!"BeF~@h$N%9!<%Q!<%/%i%97?$K<+F07?JQ49$5$l$^$9!#$3$NJQ?t$O%9!<%Q!<%/%i%97?$G$9$,!";2>H$7$F$$$k$C$F!"85$N%5%V%/%i%97?$K7?JQ49$9$k$3$H$,2DG=$J$N$G$9$,!"$3$N>l9g$OL@<(E*$K%-%c%9%H$9$kI,MW$,$"$j$^$9!#(B

$B!V%5%V%/%i%97?(B --> $B%9!<%Q!<%/%i%97?(B --> $B%5%V%/%i%97?!W$H7?JQ49!?BeF~$r7+$jJV$7$F$$$-!"$=$NETEY;2>H@h$N

CastChk.java:

class Parent {
	void whois() {
		System.out.println("$B;d$O?F!#(B");
	}
}
class Child extends Parent {
	void whois() {
		System.out.println("$B;d$O;R6!!#(B");
	}
}
class CastChk {
	public static void main(String[] args) {
		//$B%$%s%9%?%s%92=(B
		Child obj1 = new Child();
		obj1.whois();
		System.out.print("    Child: " + (obj1 instanceof Child));
		System.out.println("  Parent: " + (obj1 instanceof Parent));
		//$B7?JQ49(B
		Parent obj2 = obj1;
		obj2.whois();
		System.out.print("    Child: " + (obj2 instanceof Child));
		System.out.println("  Parent: " + (obj2 instanceof Parent));
		//$B%-%c%9%H(B
		Child obj3 = (Child)obj2;
		obj3.whois();
		System.out.print("    Child: " + (obj3 instanceof Child));
		System.out.println("  Parent: " + (obj3 instanceof Parent));
	}
}

$B$3$3$K$O!"%9!<%Q!<%/%i%9(B Parent $B$H$=$N%5%V%/%i%9(B Child $B$,B8:_$7$^$9!#%5%V%/%i%9$N%*%V%8%'%/%H$r:n@.$7!"$=$N;2>H$r(B Child $B7?!"(B Parent $B7?!"(B Child $B7?$K7?JQ49$7$F$$$^$9!#(B

$B$^$?!"%a%=%C%I(B whois() $B$,%*!<%P!<%i%$%I$5$l$F$$$k$3$H$K$bCmL\$7$F$/$@$5$$!#(B

C:\Java>javac CastChk.java
C:\Java>java CastChk
$B;d$O;R6!!#(B
    Child: true  Parent: true
$B;d$O;R6!!#(B
    Child: true  Parent: true
$B;d$O;R6!!#(B
    Child: true  Parent: true

$B7?JQ49$K$h$C$F!";2>H$7$F$$$k



Copyright © 2001 SUGAI, Manabu. All Rights Reserved.
SEO [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送