$B%3%s%9%H%i%/%?$O7Q>5$5$l$J$$(B

Revised: Feb./14th/2003: Since: Dec./30th/2001

$B7Q>5$H%3%s%9%H%i%/%?(B

$B%3%s%9%H%i%/%?$O!"%*%V%8%'%/%H$r@8@.$9$k$?$a$NFC5$O$5$l$^$;$s!#$3$N$?$a!"%/%i%9$N7Q>5;~$N?6$kIq$$$b!"DL>o$N%a%=%C%I$H$O0[$J$j!"0J2<$N5,B'$,$"$j$^$9!#(B

$B%5%s%W%k(B

$B%3%s%9%H%i%/%?$rL@<(E*$KDI2C$7$J$$$H$-!"%3%s%Q%$%i$O6u$N%3%s%9%H%i%/%?$rDI2C$7$^$9!#$3$N%G%U%)%k%H$N%3%s%9%H%i%/%?$O!"

Constructor() {
	super();
}

super() $B$O!"%9!<%Q!<%/%i%9$N%3%s%9%H%i%/%?8F$S=P$7$G$9!#%3%s%9%H%i%/%?$O!":G=i$K%9!<%Q!<%/%i%9$N%3%s%9%H%i%/%?$r53,AX$N:G>e0L$N%/%i%9!J(Bjava.lang.Object$B!K$+$i%5%V%/%i%9$NKvC<$X2<$k=gHV$K9=C[$5$l$F$$$-$^$9!#(B

$B5$7$F$$$^$9!#(B Ko $B%/%i%9$N%3%s%9%H%i%/%?$G$OL@<(E*$K8F$S=P$7$F$$$J$$$N$G!"<+F0E*$K%9!<%Q!<%/%i%9$N0z?t$N$J$$%3%s%9%H%i%/%?$,

class Oya {
	Oya() {
		System.out.println("I am Oya!");
	}
}
class Ko extends Oya {
	Ko() {
		// $B0E<(E*$K%9!<%Q!<%/%i%9$N%3%s%9%H%i%/%?$,
		System.out.println("I am Ko!");
	}
}
class Main {
	public static void main(String[] args) {
		Ko obj = new Ko();
	}
}

$B

C:\java>java Main.java
C:\java>java Main
I am Oya!
I am Ko.

$B7Q>5$G$"$l$P(B "I am Oya!" $B$O=PNO$5$l$J$$$O$:$G$9$M!)(B

$B%9!<%Q!<%/%i%9$N0EL[E*%3%s%9%H%i%/%?8F$S=P$7$O!"0z?t$N$J$$%3%s%9%H%i%/%?$r8F$S=P$9$N$G!"0z?t$r;}$D%3%s%9%H%i%/%?$@$1$7$+Dj5A$7$F$$$J$$>l9g$O%3%s%Q%$%k%(%i!<$H$J$j$^$9!#(B

class Oya {
	Oya(String str) {
		System.out.println("My name is " + str + "!");
	}
}
class Ko extends Oya {
	Ko() {
		// $B0E<(E*$K(B Oya() $B$,8F$S=P$5$l$k(B
		System.out.println("I am Ko!");
	}
}
class Main {
	public static void main(String[] args) {
		Ko obj = new Ko();
	}
}

$B$3$l$r%3%s%Q%$%k$9$k$H

C:\java>javac Main.java
Main2.java:8: $B%7%s%\%k$r2r

$B$3$N%3%s%Q%$%k%(%i!<$r2sHr$9$k$?$a$K$O!"

$B0z?t$N$J$$%3%s%9%H%i%/%?$rDj5A$9$k$3$H$KLdBj$O$"$j$^$;$s!#4{$K2r@b:Q$_$G$9!#

$B%3%s%9%H%i%/%?$H(B super

$B%9!<%Q!<%/%i%9$N%3%s%9%H%i%/%?$O(B super() $B$GL@<(E*$K;2>H$G$-$^$9!#%*!<%P!<%m!<%I;~$N(B this() $B%3%s%9%H%i%/%?(B$B$K;w$F$$$^$9!#(Bsuper() $B%3%s%9%H%i%/%?$r;H$&$H$-$O!"%5%V%/%i%9$N%3%s%9%H%i%/%?$N:G=i$N9T$K5-=R$7$J$1$l$P$J$i$J$$$H$$$&E@$b(B this() $B$HF1$8$G$9!#(B

$B@h$[$I$N%5%s%W%k$O

class Oya {
	Oya(String str) {
		System.out.println("My name is " + str + "!");
	}
}
class Ko extends Oya {
	Ko() {
		super("sugai");	// $BL@<(E*%9!<%Q!<%/%i%9%3%s%9%H%i%/%?8F$S=P$7(B
		System.out.println("I am Ko!");
	}
}
class Main {
	public static void main(String[] args) {
		Ko obj = new Ko();
	}
}

$B

C:\java>javac Main.java
C:\java>javac Main
My name is sugai!
I am Ko!

$B

class Base {
	int x;
	Base(int a) {
		x = a;
	}
}
class Sub extends Base {
	int y;
	Sub() {
		this(1, 1); // $B%3%s%9%H%i%/%?Fb$N:G=i$N%9%F!<%H%a%s%H$G$"$k$3$H$,I,MW(B
		System.out.println("$B%G%U%)%k%HCM(B 1 $B$r;H$$$^$9!#(B");
	}
	Sub(int a) {
		this(a, 1);
		System.out.println("$B%G%U%)%k%HCM(B 1 $B$r;H$$$^$9!#(B");
	}
	Sub(int a, int b) {
		super(a); // $B%3%s%9%H%i%/%?Fb$N:G=i$N%9%F!<%H%a%s%H$G$"$k$3$H$,I,MW(B
		y = b;
	}
}

Sub $B%/%i%9$r%$%s%9%?%s%92=$7$F

super() $B$b(B this() $B$b%3%s%9%H%i%/%?$N:G=i$N9T$K5-=R$7$J$1$l$P$J$j$^$;$s!#N>J}5-=R$9$kI,MW$,$"$k$H$-$O!"$I$&$9$l$P$h$$$N$+!#$3$l$O6rLd$G$9!#(Bthis() $B$,I,MW$G$"$l$P!"$3$l$r5-=R$7!"8F$P$l$?@h$N%3%s%9%H%i%/%?$N:G=i$N9T$G(B super() $B$r5-=R$7$F$*$1$PNI$$$+$i$G$9!#(B

super() $B$N%5%s%W%k(B

$BOya $B%/%i%9$G$O%3%s%9%H%i%/%?$,;0$D%*!<%P!<%m!<%I$5$l$F$$$^$9!#$3$l$r7Q>5$7$?(B Ko $B%/%i%9$G$O!"<+?H$N%3%s%9%H%i%/%?$NCf$G!"%9!<%Q!<%/%i%9$N%3%s%9%H%i%/%?$N!V(Bint $B7?0z?t0l$D!W$N$b$N$r8F$S=P$7$F$$$^$9!#(B

SuperConstDemo.java:

class Oya {
	int x = 0, y = 0;
	// $B%3%s%9%H%i%/%?#1(B
	Oya() {
		this(10, 100);
		System.out.println("x, y $B$K$O%G%U%)%k%HCM(B 10, 100 $B$r;H$$$^$9!#(B");
	}
	// $B%3%s%9%H%i%/%?#2(B
	Oya(int a) {
		this(a, 100);
		System.out.println("y $B$K$O%G%U%)%k%HCM(B 100 $B$r;H$$$^$9!#(B");
	}
	// $B%3%s%9%H%i%/%?#3(B
	Oya(int a, int b) {
		x = a;
		y = b;
	}
}
class Ko extends Oya {
	// $B%3%s%9%H%i%/%?(B
	Ko(int a) {
		// $B%9!<%Q!<%/%i%9$N%3%s%9%H%i%/%?8F$S=P$7(B
		super(a);
	}
	void getValue() {
		// $B%9!<%Q!<%/%i%9$NJQ?t;2>H(B
		System.out.println("super.x: " + super.x);
		System.out.println("super.y: " + super.y);
	}
}
class SuperConstDemo {
	public static void main(String[] args) {
		// $B%$%s%9%?%s%92=(B
		Ko obj = new Ko(5);
		// $B%a%=%C%I8F$S=P$7(B
		obj.getValue();
	}
}

main() $B%a%=%C%I$G(B Ko $B%/%i%9$r%$%s%9%?%s%92=$7$F$$$^$9$,!"$3$N$H$-(B int $B7?0z?t$r0l$D;}$D%3%s%9%H%i%/%?$r8F$S!"#5$r0z$-EO$7$F$$$^$9!#8F$P$l$?(B Ko $B%/%i%9$N%3%s%9%H%i%/%?$G$O!"%9!<%Q!<%/%i%9$N%3%s%9%H%i%/%?$N(B int $B7?0z?t$r0l$D;}$D$b$N$r8F$s$G$$$^$9!#$3$3$G$O!"@hDx(B main() $B%a%=%C%I$+$i0z$-EO$5$l$?CM$r$=$N$^$^0z$-EO$7$F$$$^$9!#(B

$B$3$N%3%s%9%H%i%/%?$G$O!"(B Oya $B%/%i%9$N%a%s%PJQ?t$r=i4|2=$7$F$$$^$9!#$3$l$i$NCM$,!"(B Ko $B%/%i%9$GDj5A$5$l$?(B getValue() $B%a%=%C%I$G=PNO$5$l$^$9!#(B

C:\java>javac SuperConstDemo.java
C:\java>java SuperConstDemo
y $B$K$O%G%U%)%k%HCM(B 100 $B$r;H$$$^$9!#(B
super.x: 5
super.y: 100
C:\java>

$B0EL[E*(B super()

$BL@<(E*$J%3%s%9%H%i%/%?$,:n@.$5$l$F$$$J$$8B$j$K$*$$$F!"0z?t$N$J$$%3%s%9%H%i%/%?$,<+F0E*$K:n@.$5$l$^$9!#(B

$B%5%V%/%i%9$N%3%s%9%H%i%/%?Fb$GL@<(E*$K(B super() $B$,8F$P$l$F$$$J$$$H$-$K$O!"0EL[E*$K0z?t$N$J$$(B super() $B%3%s%9%H%i%/%?$,8F$P$l$^$9!#$b$7%9!<%Q!<%/%i%9$G0z?t$N$J$$%3%s%9%H%i%/%?$,B8:_$7$J$$$H!"%3%s%Q%$%k!&%(%i!<$K$J$j$^$9!#(B

$B$3$l$r2sHr$9$k$K$O!"0z?t$N$J$$%3%s%9%H%i%/%?$r$b$?$J$$%/%i%9$+$iGI@8$9$k%5%V%/%i%9$G$O!"L@<(E*$KE,@Z$J0z?t$r;}$C$?(B super() $B$r8F$S=P$9$+!"7Q>5$5$l$k2DG=@-$N$"$k%/%i%9$K$O0z?t$N$J$$%3%s%9%H%i%/%?$rDj5A$7$F$*$/$+$N2?$l$+$G$9!#$$$:$l$N>l9g$b!"@_7W$NHO0OFb$G$"$j$&$k%1!<%9$G$9!#$7$+$7!"%/%i%9@_7W$N;~$K$O!"$h$7$s$PL50UL#$G$"$C$F$b!"0z?t$N$J$$%3%s%9%H%i%/%?$bMQ0U$7$F$*$/J}$,0lHLE*$G$9!#(B



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