// ΡΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ Π΅ΡΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠ°
ΠΠ»Ρ ΡΠ΄ΠΎΠ±ΡΡΠ²Π° ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΎ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΠΊ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΏΠΎΠ»ΡΠΌ ΠΈ ΡΠ΅ΡΠ΅Π· ΡΡΡΠ»ΠΊΠΈ:
Human h = new Human();
h.totalCount=100;
ΠΠ΄Π½Π°ΠΊΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΡΡΠ΅ΡΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠΌ. ΠΠ½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠΈΠΏ ΡΡΡΠ»ΠΊΠΈ, Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ h ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π° ΠΊΠ°ΠΊ Human, ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ ΡΡΡΠΎΠΊΠ° Π±ΡΠ΄Π΅Ρ Π½Π΅ΡΠ²Π½ΠΎ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½Π° Π²:
Human.totalCount=100;
Π ΡΡΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅:
Human h = null;
h.totalCount+=10;
ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΡΠ»ΠΊΠΈ ΡΠ°Π²Π½ΠΎ null, Π½ΠΎ ΡΡΠΎ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² ΡΠΈΠ»Ρ ΠΎΠΏΠΈΡΠ°Π½Π½ΠΎΠΉ ΠΊΠΎΠ½Π²Π΅ΡΡΠ°ΡΠΈΠΈ. ΠΠ°Π½Π½ΡΠΉ ΠΊΠΎΠ΄ ΡΡΠΏΠ΅ΡΠ½ΠΎ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΡΡΡ ΠΈ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»Π½ΠΈΡΡΡ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅
Human h1 = new Human(),
h2 = new Human();
Human.totalCount=5;
h1.totalCount++;
System.out.println(h2.totalCount);
Π²ΡΠ΅ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΊ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ totalCount ΠΏΡΠΈΠ²ΠΎΠ΄ΡΡ ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠΌΡ ΠΏΠΎΠ»Ρ, ΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ ΡΠ°Π±ΠΎΡΡ ΡΠ°ΠΊΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π±ΡΠ΄Π΅Ρ 6. ΠΡΠΎ ΠΏΠΎΠ»Π΅ Π±ΡΠ΄Π΅Ρ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°ΡΡ Π² Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠΌ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ΅ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΡΠΎΠ³ΠΎ, ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π±ΡΠ»ΠΎ ΠΏΠΎΡΠΎΠΆΠ΄Π΅Π½ΠΎ ΠΎΡ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°, ΠΈ Π±ΡΠ» Π»ΠΈ Π²ΠΎΠΎΠ±ΡΠ΅ ΡΠΎΠ·Π΄Π°Π½ Ρ ΠΎΡΡ ΠΎΠ΄ΠΈΠ½ ΠΎΠ±ΡΠ΅ΠΊΡ.
ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ ΠΎΠ±ΡΡΠ²Π»ΡΡΡΡΡ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ.
class Human {
private static int totalCount;
public static int getTotalCount() {
return totalCount;
}
}
ΠΠ»Ρ Π²ΡΠ·ΠΎΠ²Π° ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π° ΡΡΡΠ»ΠΊΠΈ Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ.
Human.getTotalCount();
Π₯ΠΎΡΡ Π΄Π»Ρ ΡΠ΄ΠΎΠ±ΡΡΠ²Π° ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ ΡΠ΅ΡΠ΅Π· ΡΡΡΠ»ΠΊΡ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½Ρ, Π½ΠΎ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅ΡΡΡ Π²ΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΈΠΏ ΡΡΡΠ»ΠΊΠΈ:
Human h=null;
h.getTotalCount();
// Π΄Π²Π° ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½ΡΡ
Human.getTotalCount();
// ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡ
// ΠΈ ΡΠΎΠΌΡ ΠΆΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ
Π₯ΠΎΡΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈ ΠΊΠΎΡΡΠ΅ΠΊΡΠ΅Π½, Π²ΡΠ΅ ΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΡΠ»ΠΊΠΈ Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡ Π΄Π»Ρ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΊ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΏΠΎΠ»ΡΠΌ ΠΈ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌ Π½Π΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΡΠΎ ΡΡΠ»ΠΎΠΆΠ½ΡΠ΅Ρ ΠΊΠΎΠ΄.
ΠΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΊ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΌΡ ΠΏΠΎΠ»Ρ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΠΌ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΡΠΎΠ³ΠΎ, Π±ΡΠ»ΠΈ Π»ΠΈ ΠΏΠΎΡΠΎΠΆΠ΄Π΅Π½Ρ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΎΡ ΡΡΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° ΠΈ Π² ΠΊΠ°ΠΊΠΎΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠ°ΡΡΠΎΠ²ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ main() Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ Π΄ΠΎ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠΎΠ·Π΄Π°ΡΡ Ρ ΠΎΡΡ Π±Ρ ΠΎΠ΄ΠΈΠ½ ΠΎΠ±ΡΠ΅ΠΊΡ.
ΠΡΠΎΠΌΠ΅ ΠΏΠΎΠ»Π΅ΠΉ ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ², ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΎΡΡ. ΠΠ½ΠΈ ΡΠ°ΠΊΠΆΠ΅ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΎΡΠ°ΠΌΠΈ ΠΊΠ»Π°ΡΡΠ°, Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΎΡΠΎΠ² ΠΎΠ±ΡΠ΅ΠΊΡΠ°, ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π²ΡΠΈΡ ΡΡ ΡΠ°Π½Π΅Π΅. ΠΡ ΠΊΠΎΠ΄ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΊΠ»Π°ΡΡΠ° Π² ΠΏΠ°ΠΌΡΡΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Ρ. ΠΡ Π·Π°ΠΏΠΈΡΡ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Ρ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ° static:
class Human {
static {
System.out.println("Class loaded");
}
}
ΠΡΠ»ΠΈ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ»Ρ ΡΠΎΠ²ΠΌΠ΅ΡΠ°Π΅ΡΡΡ Ρ Π΅Π³ΠΎ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ, ΡΠΎ ΠΏΠΎΠ»Π΅ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅ΡΡΡ ΡΠ°ΠΊΠΆΠ΅ ΠΎΠ΄Π½ΠΎΠΊΡΠ°ΡΠ½ΠΎ ΠΏΡΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠ΅ ΠΊΠ»Π°ΡΡΠ°. ΠΠ° ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΈ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΠΎΠ»Π΅ΠΉ Π½Π°ΠΊΠ»Π°Π΄ΡΠ²Π°ΡΡΡΡ ΡΠ΅ ΠΆΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ, ΡΡΠΎ ΠΈ Π΄Π»Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΡ ,β Π½Π΅Π»ΡΠ·Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠΎΠ»Π΅ Π² ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΎΡΠ°Ρ Π΄ΡΡΠ³ΠΈΡ ΠΏΠΎΠ»Π΅ΠΉ ΠΈΠ»ΠΈ Π² ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΎΡΠ°Ρ ΠΊΠ»Π°ΡΡΠ° Π΄ΠΎ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΡΡΠΎ ΠΏΠΎΠ»Π΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΎ:
class Test {
static int a;
static {
a=5;
// b=7;
// ΠΠ΅Π»ΡΠ·Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄ΠΎ
// ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ!
}
static int b=a;
}
ΠΡΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΊ ΠΏΠΎΠ»ΡΠΌ ΠΏΠΎ ΠΏΡΠΎΡΡΠΎΠΌΡ ΠΈΠΌΠ΅Π½ΠΈ. ΠΡΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΡΡΠ°Π²Π½ΠΎΠ΅ ΠΈΠΌΡ, ΡΠΎ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΠΊ ΠΏΠΎΠ»Ρ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΡΠ°Π½ΡΡΠ΅ (Π²ΡΡΠ΅ Π² ΡΠ΅ΠΊΡΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ), ΡΠ΅ΠΌ ΠΎΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΎ:
class Test {
static int b=Test.a;
static int a=3;
static {
System.out.println("a="+a+", b="+b);
}
}
ΠΡΠ»ΠΈ ΠΊΠ»Π°ΡΡ Π±ΡΠ΄Π΅Ρ Π·Π°Π³ΡΡΠΆΠ΅Π½ Π² ΡΠΈΡΡΠ΅ΠΌΡ, Π½Π° ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ ΠΏΠΎΡΠ²ΠΈΡΡΡ ΡΠ΅ΠΊΡΡ:
a=3, b=0
ΠΠΈΠ΄Π½ΠΎ, ΡΡΠΎ ΠΏΠΎΠ»Π΅ b ΠΏΡΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΏΠΎΠ»Ρ a, Ρ.Π΅. 0. ΠΠ°ΡΠ΅ΠΌ ΠΏΠΎΠ»Ρ a Π±ΡΠ»ΠΎ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 3.
Π‘ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΠΎΠ»Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΎΠ±ΡΡΠ²Π»Π΅Π½Ρ ΠΊΠ°ΠΊ final, ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΠΏΡΠΎΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Ρ ΡΡΡΠΎΠ³ΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· ΠΈ Π·Π°ΡΠ΅ΠΌ ΡΠΆΠ΅ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ ΠΌΠ΅Π½ΡΡΡ ΡΠ²ΠΎΠ΅Π³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ, ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΎΠ±ΡΡΠ²Π»Π΅Π½Ρ ΠΊΠ°ΠΊ final, Π° ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΈΡ Π½Π΅Π»ΡΠ·Ρ ΠΏΠ΅ΡΠ΅ΠΊΡΡΠ²Π°ΡΡ Π² ΠΊΠ»Π°ΡΡΠ°Ρ -Π½Π°ΡΠ»Π΅Π΄Π½ΠΈΠΊΠ°Ρ .
ΠΠ»Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΠΎΠ»Π΅ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌΠΈ ΠΈ Π½Π΅Π»ΡΠ·Ρ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΠΊ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΌ. ΠΠ²ΠΎΠ΄ΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΠΏΠΎΠ½ΡΡΠΈΡ β ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΡ. Π ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΌΡ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΡ ΠΎΡΠ½ΠΎΡΡΡ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ, ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΎΡΡ, ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΎΡΡ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΠΎΠ»Π΅ΠΉ. ΠΡΠ΅ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΠ°ΡΡΠΈ ΠΊΠΎΠ΄Π° ΠΈΠΌΠ΅ΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ.
ΠΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΠ΄Π° Π² Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ Π²ΡΠ΅Π³Π΄Π° Π΅ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ, Ρ ΠΊΠΎΡΠΎΡΡΠΌ ΠΈΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ° Π² Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π° ΡΡΠΎ ΠΎΠ±ΡΠ΅ΠΊΡ, Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΎΠ½ Π±ΡΠ» Π²ΡΠ·Π²Π°Π½, ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅.
ΠΠ°ΠΏΡΠΎΡΠΈΠ², ΡΠΎ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠΎΠΌ Π°ΡΡΠΎΡΠΈΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π½Π΅Ρ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠ°ΠΊ ΡΠΆΠ΅ ΡΠΊΠ°Π·ΡΠ²Π°Π»ΠΎΡΡ, ΡΡΠ°ΡΡΠΎΠ²ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ main() Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ Π² ΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ, ΠΊΠΎΠ³Π΄Π° Π½ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΎΠ±ΡΠ΅ΠΊΡ Π΅ΡΠ΅ Π½Π΅ ΡΠΎΠ·Π΄Π°Π½. ΠΡΠΈ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠΈ ΠΊ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΌΡ ΠΌΠ΅ΡΠΎΠ΄Ρ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, MyClass.staticMethod(), ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ Π±ΡΡΡ Π½ΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° MyClass. ΠΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΠΊ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌ ΠΊΠ»Π°ΡΡΠ° Math ΠΌΠΎΠΆΠ½ΠΎ, Π° ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π΅Π³ΠΎ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ Π½Π΅Π»ΡΠ·Ρ.
Π ΡΠ°Π· Π½Π΅Ρ Π°ΡΡΠΎΡΠΈΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², ΡΠΎ ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡΠΌΠΈ Π½Π΅Π»ΡΠ·Ρ. ΠΠΎΠΆΠ½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΡΠ»Π°ΡΡΡΡ Π½Π° ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΠΎΠ»Ρ ΠΈ Π²ΡΠ·ΡΠ²Π°ΡΡ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ. ΠΠΈΠ±ΠΎ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΠΊ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌ ΡΠ΅ΡΠ΅Π· ΡΡΡΠ»ΠΊΠΈ Π½Π° Π½ΠΈΡ , ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠ΅ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π²ΡΠ·ΠΎΠ²Π° ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ° ΠΈΠ»ΠΈ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° ΠΌΠ΅ΡΠΎΠ΄Π° ΠΈ Ρ.ΠΏ.
class Test {
public void process() {
}
public static void main(String s[]) {
// process();
- ΠΎΡΠΈΠ±ΠΊΠ°!
// Ρ ΠΊΠ°ΠΊΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π΅Π³ΠΎ Π²ΡΠ·ΡΠ²Π°ΡΡ?
Test test = new Test();
test.process();
// ΡΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ
}
}
ΠΠ»ΡΡΠ΅Π²ΡΠ΅ ΡΠ»ΠΎΠ²Π° this ΠΈ super
ΠΡΠΈ ΠΊΠ»ΡΡΠ΅Π²ΡΠ΅ ΡΠ»ΠΎΠ²Π° ΡΠΆΠ΅ ΡΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΈΡΡ, ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π»ΠΈΡΡ ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ»ΡΡΠ°ΠΈ ΠΈΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ. ΠΠ΄Π΅ΡΡ ΠΎΠ½ΠΈ Π±ΡΠ΄ΡΡ ΠΎΠΏΠΈΡΠ°Π½Ρ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ.
ΠΡΠ»ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π² Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅, ΡΠΎ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ, Π°ΡΡΠΎΡΠΈΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Ρ Π½ΠΈΠΌ. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ this Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΡΡΠ»ΠΊΡ Π½Π° Π΄Π°Π½Π½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ:
class Test {
public Object getThis() {
return this;
// ΠΡΠΎΠ²Π΅ΡΠΈΠΌ, ΠΊΡΠ΄Π° ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΡΠ° ΡΡΡΠ»ΠΊΠ°
}
public static void main(String s[]) {
Test t = new Test();
System.out.println(t.getThis()==t);
// Π‘ΡΠ°Π²Π½Π΅Π½ΠΈΠ΅
}
}
Π Π΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π±ΡΠ΄Π΅Ρ:
true
Π’ΠΎ Π΅ΡΡΡ Π²Π½ΡΡΡΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΡΠ»ΠΎΠ²ΠΎ this Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΡΡΠ»ΠΊΡ Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡ, Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ Π²ΡΠ·Π²Π°Π½. ΠΠ½ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ, Π΅ΡΠ»ΠΈ Π½ΡΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ, ΡΠ°Π²Π½ΡΠΉ ΡΡΡΠ»ΠΊΠ΅ Π½Π° Π΄Π°Π½Π½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ, Π² ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡΠ΄Ρ ΠΌΠ΅ΡΠΎΠ΄.
class Human {
public static void register(Human h) {
System.out.println(h.name+
" is registered.");
}
private String name;
public Human (String s) {
name = s;
register(this);
// ΡΠ°ΠΌΠΎΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ
}
public static void main(String s[]) {
new Human("John");
}
}
Π Π΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ Π±ΡΠ΄Π΅Ρ:
John is registered.
ΠΡΡΠ³ΠΎΠ΅ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ this ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π»ΠΎΡΡ Π² ΡΠ»ΡΡΠ°Π΅ "Π·Π°ΡΠ΅Π½ΡΡΡΠΈΡ " ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠΉ:
class Human {
private String name;
public void setName(String name) {
this.name=name;
}
}
Π‘Π»ΠΎΠ²ΠΎ this ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΊ ΠΏΠΎΠ»ΡΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ±ΡΡΠ²Π»ΡΡΡΡΡ Π½ΠΈΠΆΠ΅:
class Test {
// int b=a; Π½Π΅Π»ΡΠ·Ρ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΠΊ
// Π½Π΅ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½ΠΎΠΌΡ ΠΏΠΎΠ»Ρ!
int b=this.a;
int a=5;
{
System.out.println("a="+a+", b="+b);
}
public static void main(String s[]) {
new Test();
}
}
Π Π΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π±ΡΠ΄Π΅Ρ:
a=5, b=0
ΠΡΠ΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Π΄Π»Ρ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΠΎΠ»Π΅ΠΉ β b ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π΄Π»Ρ a, Ρ.Π΅. Π½ΠΎΠ»Ρ, Π° Π·Π°ΡΠ΅ΠΌ a ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ 5.
ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΡΠ»ΠΎΠ²ΠΎ this ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π² ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ°Ρ Π΄Π»Ρ ΡΠ²Π½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π° Π² ΠΏΠ΅ΡΠ²ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ° ΡΡΠΎΠ³ΠΎ ΠΆΠ΅ ΠΊΠ»Π°ΡΡΠ°. Π’Π°ΠΌ ΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ ΠΈ ΡΠ»ΠΎΠ²ΠΎ super, ΡΠΎΠ»ΡΠΊΠΎ ΡΠΆΠ΅ Π΄Π»Ρ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΊ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΡ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°.
ΠΡΡΠ³ΠΈΠ΅ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ»ΠΎΠ²Π° super ΡΠ°ΠΊΠΆΠ΅ ΡΠ²ΡΠ·Π°Π½Ρ Ρ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΊ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠΌΡ ΠΊΠ»Π°ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΠ½ΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ Π² ΡΠ»ΡΡΠ°Π΅ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ (overriding) ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π°.
ΠΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ Π½Π°Π·ΡΠ²Π°ΡΡ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Π°, ΡΠΈΠ³Π½Π°ΡΡΡΠ° ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ Ρ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°.
class Parent {
public int getValue() {
return 5;
}
}
class Child extends Parent {
// ΠΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Π°
public int getValue() {
return 3;
}
public static void main(String s[]) {
Child c = new Child();
// ΠΏΡΠΈΠΌΠ΅Ρ Π²ΡΠ·ΠΎΠ²Π° ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π°
System.out.println(c.getValue());
}
}
ΠΡΠ·ΠΎΠ² ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΠΏΠΎΠ»ΠΈΠΌΠΎΡΡΠΈΠ·ΠΌΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΡΡΡ Π² ΠΊΠΎΠ½ΡΠ΅ ΡΡΠΎΠΉ Π»Π΅ΠΊΡΠΈΠΈ. ΠΠ΄Π½Π°ΠΊΠΎ ΡΡΠ½ΠΎ, ΡΡΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΈΠΌΠ΅ΡΠ° Π±ΡΠ΄Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 3. ΠΠ΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡΡΠ»ΠΊΡ ΡΠΈΠΏΠ° Child, ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ· ΠΌΠ΅ΡΠΎΠ΄Π° getValue() Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 5, ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΌΠ΅ΡΠΎΠ΄ ΠΏΠ΅ΡΠ΅ΠΊΡΡΡ ΠΈ ΡΠΆΠ΅ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ΅Π½.
ΠΠ½ΠΎΠ³Π΄Π° ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ Π±ΡΠ²Π°Π΅Ρ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ ΡΠ°Π±ΠΎΡΡ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π°. ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΠΎΠ½ Π΄Π΅Π»Π°Π» ΡΠ»ΠΎΠΆΠ½ΡΠ΅ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ, Π° ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Π΅ΡΠ½ΡΡΡ ΠΎΠΊΡΡΠ³Π»Π΅Π½Π½ΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΡΡΠΈΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ. ΠΠΎΠ½ΡΡΠ½ΠΎ, ΡΡΠΎ Π³ΠΎΡΠ°Π·Π΄ΠΎ ΡΠ΄ΠΎΠ±Π½Π΅Π΅ ΠΎΠ±ΡΠ°ΡΠΈΡΡΡΡ ΠΊ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠΌΡ ΠΌΠ΅ΡΠΎΠ΄Ρ, ΡΠ΅ΠΌ Π·Π°Π½ΠΎΠ²ΠΎ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡ Π²Π΅ΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌ. ΠΠ΄Π΅ΡΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΡΠ»ΠΎΠ²ΠΎ super. ΠΠ· ΠΊΠ»Π°ΡΡΠ° Π½Π°ΡΠ»Π΅Π΄Π½ΠΈΠΊΠ° Ρ Π΅Π³ΠΎ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΠΊ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌ ΡΠΎΠ΄ΠΈΡΠ΅Π»Ρ:
class Parent {
public int getValue() {
return 5;
}
}
class Child extends Parent {
// ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Π°
public int getValue() {
// ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΊ ΠΌΠ΅ΡΠΎΠ΄Ρ ΡΠΎΠ΄ΠΈΡΠ΅Π»Ρ
return super.getValue()+1;
}
public static void main(String s[]) {
Child c = new Child();
System.out.println(c.getValue());
}
}
Π Π΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π±ΡΠ΄Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 6.
ΠΠ±ΡΠ°ΡΠ°ΡΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° super ΠΊ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡ ΠΌΠ΅ΡΠΎΠ΄Ρ ΡΠΎΠ΄ΠΈΡΠ΅Π»Ρ, Ρ.Π΅. Π½Π° Π΄Π²Π° ΡΡΠΎΠ²Π½Ρ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ Π²Π²Π΅ΡΡ , Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ. ΠΡΠ»ΠΈ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΊΠ»Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠ» ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ ΡΠ²ΠΎΠ΅Π³ΠΎ ΡΠΎΠ΄ΠΈΡΠ΅Π»Ρ, Π·Π½Π°ΡΠΈΡ, ΠΎΠ½Π° Π½Π΅ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΡΡΡΠΏΠ½Π° Π΅Π³ΠΎ Π½Π°ΡΠ»Π΅Π΄Π½ΠΈΠΊΠ°ΠΌ.