ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании студСнчСских Ρ€Π°Π±ΠΎΡ‚
АнтистрСссовый сСрвис

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Java. 
ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Java

Π Π΅Ρ„Π΅Ρ€Π°Ρ‚ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

ΠšΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово extends ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ «ΠΈΠΌΡ_класса» — это подкласс класса «ΠΈΠΌΡ_супСркласса». Π’ΠΎ Π³Π»Π°Π²Π΅ классовой ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ Java стоит СдинствСнный Π΅Π΅ Π²ΡΡ‚Ρ€ΠΎΠ΅Π½Π½Ρ‹ΠΉ класс — Object. Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ подкласс нСпосрСдствСнно этого класса, ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово extends ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ Π·Π° Π½ΠΈΠΌ имя супСркласса ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ — транслятор Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ ΠΈΡ… Π² Π²Π°ΡˆΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ автоматичСски. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ»ΡƒΠΆΠΈΡ‚ΡŒ… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Java. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Java (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

Java, ΠΊΠ°ΠΊ ΠΈ Π»ΡŽΠ±ΠΎΠΉ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ язык программирования, располагаСт срСдствами построСния классов ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π² Java ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚ΠΈΠΏ; ΠΈΠΌ ΡΠ²Π»ΡΠ΅Ρ‚ся класс, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ‚ Π΄Π°Π½Π½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚. Π’ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ классС Π΅ΡΡ‚ΡŒ Ρ‡Π»Π΅Π½Ρ‹ Π΄Π²ΡƒΡ… Π²ΠΈΠ΄ΠΎΠ²: поля ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹. Полями Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, содСрТащиС Π΄Π°Π½Π½Ρ‹Π΅ класса ΠΈ Π΅Π³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². Π’ Π½ΠΈΡ… хранятся Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ вычислСний, выполняСмых ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ Π΄Π°Π½Π½ΠΎΠ³ΠΎ класса. ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ содСрТат исполняСмый ΠΊΠΎΠ΄ класса. ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ состоят ΠΈΠ· ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ²; эти ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹, Π° Ρ‚Π°ΠΊΠΆΠ΅ способ Π²Ρ‹Π·ΠΎΠ²Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Π² ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ счСтС ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ процСсс выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π’Π°ΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ объявлСниС простого класса, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π΅Π³ΠΎ Ρ‚ΠΎΡ‡ΠΊΡƒ Π½Π° ΠΏΠ»ΠΎΡΠΊΠΎΡΡ‚ΠΈ:

class Point {.

public double x, y;

}.

Класс Point содСрТит Π΄Π²Π° поля с ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π°ΠΌΠΈ x ΠΈ y Ρ‚ΠΎΡ‡ΠΊΠΈ, ΠΈ Π² Π½Π΅ΠΌ Π½Π΅Ρ‚ Π½ΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°. ПодобноС объявлСниС класса опрСдСляСт, ΠΊΠ°ΠΊ Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, созданныС Π½Π° Π΅Π³ΠΎ основС, ΠΈ Ρ‚Π°ΠΊΠΆΠ΅ Π·Π°Π΄Π°Π΅Ρ‚ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ инструкций. Π§Π΅Ρ€Ρ‚Π΅ΠΆ ΠΏΡ€ΠΈΠΎΠ±Ρ€Π΅Ρ‚Π°Π΅Ρ‚ Π½Π°ΠΈΠ±ΠΎΠ»ΡŒΡˆΡƒΡŽ Ρ†Π΅Π½Π½ΠΎΡΡ‚ΡŒ послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΊ Π½Π΅ΠΌΡƒ Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ΡΡ тСхничСскиС задания ΠΈ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΠΈ. Π§Π»Π΅Π½Ρ‹ класса ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠ±Π»Π°Π΄Π°Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ ΠΏΡ€Π°Π²Π°ΠΌΠΈ доступа. ОбъявлСниС ΠΏΠΎΠ»Π΅ΠΉ x ΠΈ y ΠΊΠ»Π°ΡΡΠ° Point с ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ словом public ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ любой ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ²ΡˆΠΈΠΉ доступ ΠΊ Point, смоТСт ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ эти поля. Π Π°Π·Ρ€Π΅ΡˆΠ°Π΅Ρ‚ΡΡ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Π΅Π³ΠΎ лишь ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌ самого класса ΠΈΠ»ΠΈ связанных с Π½ΠΈΠΌ классов. ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ посрСдством Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово new. Π‘ΠΎΠ·Π΄Π°Π½Π½Ρ‹Π΅ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ опрСдСлСния класса ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ часто Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ экзСмплярами Π΄Π°Π½Π½ΠΎΠ³ΠΎ класса. Π’ ΡΠ·Ρ‹ΠΊΠ΅ Java создаваСмыС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ Π² ΠΎΠ±Π»Π°ΡΡ‚ΠΈ систСмной памяти, которая называСтся ΠΊΡƒΡ‡Π΅ΠΉ (heap). Доступ ΠΊ Π»ΡŽΠ±ΠΎΠΌΡƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ осущСствляСтся ΠΏΠΎ ΡΡΡ‹Π»ΠΊΠΈ Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚. Когда ссылка Π½Π΅ ΠΎΡ‚носится Π½ΠΈ ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ, ΠΎΠ½Π° Ρ€Π°Π²Π½Π° null. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ ΠΈ ΡΡΡ‹Π»ΠΊΠΎΠΉ Π½Π΅ Π΄Π΅Π»Π°Π΅Ρ‚ся особых Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠΉ. И ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ Ρ€Π°Π·Π»ΠΈΡ‡Π°Ρ‚ΡŒ эти Π΄Π²Π° понятия лишь Ρ‚Π°ΠΌ, Π³Π΄Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ, Π½ΠΎ Ρ‡Π°Ρ‰Π΅ всСго Ρ‚Π΅Ρ€ΠΌΠΈΠ½Ρ‹ «ΠΎΠ±ΡŠΠ΅ΠΊΡ‚» ΠΈ «ΡΡΡ‹Π»ΠΊΠ° Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚» Π±ΡƒΠ΄ΡƒΡ‚ часто ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π»ΡΡ‚ΡŒΡΡ. Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡΡΡŒ ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ Π²Ρ‹ΡˆΠ΅ классу Point, Ρ‚ΠΎ ΠΌΡ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ графичСскоС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ приходится ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ Π·Π° ΠΌΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎΠΌ Ρ‚ΠΎΡ‡Π΅ΠΊ. КаТдая Ρ‚ΠΎΡ‡ΠΊΠ° прСдставляСтся ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ Point. Π’ΠΎΡ‚ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ созданиС ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Point:

Point lowerLeft = new Point ();

Point upperRight = new Point ();

Point middlePoint = new Point ();

lowerLeft. x = 0.0;

lowerLeft. y = 0.0;

upperRight. x = 1280.0;

upperRight. y = 1024.0;

middlePoint. x = 640.0;

middlePoint. y = 512.0;

БтатичСскиС поля. БтатичСскиС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π°ΡŽΡ‚ΡΡ для выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, спСцифичных для Π΄Π°Π½Π½ΠΎΠ³ΠΎ класса, ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ со ΡΡ‚атичСскими полями, Π° Π½Π΅ с ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌΠΈ экзСмплярами класса. ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ класса ΠΎΠ±ΡŠΡΠ²Π»ΡΡŽΡ‚ΡΡ с ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ словом static ΠΈ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ся статичСскими ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ. ΠœΠ΅Ρ‚ΠΎΠ΄ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, спСцифичный для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, хотя Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… случаях, для большСй ясности, ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ‚Π΅Ρ€ΠΌΠΈΠ½ «Π½Π΅ΡΡ‚атичСский ΠΌΠ΅Ρ‚ΠΎΠ΄». Π”Π°Π²Π°ΠΉΡ‚Π΅ вСрнСмся ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ с Ρ„Π°Π±Ρ€ΠΈΠΊΠΎΠΉ, производящСй ΠΏΠ»Π΅Π΅Ρ€Ρ‹. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ сСрийный Π½ΠΎΠΌΠ΅Ρ€ для Π½ΠΎΠ²ΠΎΠ³ΠΎ издСлия Π΄ΠΎΠ»ΠΆΠ΅Π½ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ Π½Π° Ρ„Π°Π±Ρ€ΠΈΠΊΠ΅, Π° Π½Π΅ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅-ΠΏΠ»Π΅Π΅Ρ€Π΅. БоотвСтствСнно ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с ΡΡ‚ΠΈΠΌ Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ статичСским, Π° Π½Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΌ с ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ ΠΏΠ»Π΅Π΅Ρ€Π°ΠΌΠΈ. Π’ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° distance ΠΈΠ· ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° использован статичСский ΠΌΠ΅Ρ‚ΠΎΠ΄ Math. sqrt для вычислСния ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ корня. Класс Math содСрТит мноТСство ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² для часто Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‰ΠΈΡ…ΡΡ матСматичСских ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ. Π­Ρ‚ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Ρ‹ статичСскими, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π½Π΅ Ρ ΠΊΠ°ΠΊΠΈΠΌ-Ρ‚ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ, Π½ΠΎ ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Π²Π½ΡƒΡ‚Ρ€ΠΈ класса Π³Ρ€ΡƒΠΏΠΏΡƒ со ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΌΠΈ функциями. БтатичСский ΠΌΠ΅Ρ‚ΠΎΠ΄ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ Π½Π΅ΡΡ‚атичСским Ρ‡Π»Π΅Π½Π°ΠΌ. ΠŸΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ статичСского ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π½Π΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΠ΅Ρ‚ ссылки Π½Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ вызываСтся Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄. Π’ΠΏΡ€ΠΎΡ‡Π΅ΠΌ, пСрСдавая ссылку Π½Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° статичСского ΠΌΠ΅Ρ‚ΠΎΠ΄Π°. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Π² ΠΎΠ±Ρ‰Π΅ΠΌ случаС статичСскиС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ свои Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ всСго класса, Π° Π½Π΅ΡΡ‚атичСскиС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ с ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ. БтатичСский ΠΌΠ΅Ρ‚ΠΎΠ΄, ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ поля ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², — ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ-Ρ‚ΠΎ ΠΆΠ΅ самоС, Ρ‡Ρ‚ΠΎ ΠΈ Ρ„Π°Π±Ρ€ΠΈΠΊΠ° ΠΈΠ· Π½Π°ΡˆΠ΅Π³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°, которая пытаСтся ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ сСрийный Π½ΠΎΠΌΠ΅Ρ€ Π΄Π°Π²Π½ΠΎ ΠΏΡ€ΠΎΠ΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠ»Π΅Π΅Ρ€Π°. Π§Π°Ρ‰Π΅ всСго Π½ΡƒΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ поля ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΎΡ‚Π»ΠΈΡ‡Π°Π»ΠΎΡΡŒ ΠΎΡ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΎΠ΄Π½ΠΎΠΈΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΏΠΎΠ»Π΅ΠΉ Π²ΠΎ Π²ΡΠ΅Ρ… ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°Ρ… Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ класса. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΠΈΠ½ΠΎΠ³Π΄Π° Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ совмСстного использования полями ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ класса. Π’Π°ΠΊΠΈΠ΅ совмСстныС поля Ρ‚Π°ΠΊΠΆΠ΅ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ класса, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ, относящимися ΠΊΠΎ Π²ΡΠ΅ΠΌΡƒ классу, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, относящихся ΠΊ Π΅Π³ΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ. Π”Π°Π²Π°ΠΉΡ‚Π΅ прСдставим, Ρ‡Ρ‚ΠΎ производят ΠΏΠ»Π΅Π΅Ρ€ Sony. ΠšΠ°ΠΆΠ΄ΠΎΠΌΡƒ ΠΏΠ»Π΅Π΅Ρ€Ρƒ присваиваСтся сСрийный Π½ΠΎΠΌΠ΅Ρ€. Π’ Π½Π°ΡˆΠΈΡ… Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Ρ… это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅ имССтся ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΠΎΠ»Π΅, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ хранится Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½ΠΎΠΌΠ΅Ρ€Π°. Π”ΡƒΠ±Π»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ эту ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅-ΠΏΠ»Π΅Π΅Ρ€Π΅ Π±Ρ‹Π»ΠΎ Π±Ρ‹ Π½Π΅Ρ€Π°Π·ΡƒΠΌΠ½ΠΎ — Π½ΡƒΠΆΠ½Π° всСго ΠΎΠ΄Π½Π° копия Π½ΠΎΠΌΠ΅Ρ€Π°, которая хранится Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΌ классС. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ»Π΅ для хранСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, относящСйся ΠΊΠΎ Π²ΡΠ΅ΠΌΡƒ классу, слСдуСт ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ Π΅Π³ΠΎ с ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ словом static, поэтому Ρ‚Π°ΠΊΠΈΠ΅ поля ΠΈΠ½ΠΎΠ³Π΄Π° Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ статичСскими. НапримСр, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Point, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ Π½Π°Ρ‡Π°Π»ΠΎ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚, ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΡΡ‚Ρ€Π΅Ρ‡Π°Ρ‚ΡŒΡΡ достаточно часто, поэтому ΠΈΠΌΠ΅Π΅Ρ‚ смысл Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ Π΅ΠΌΡƒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ΅ статичСскоС ΠΏΠΎΠ»Π΅ Π² ΠΊΠ»Π°ΡΡΠ΅ Point: ublic static Point origin = new Point ().

Если это объявлСниС встрСтится Π²Π½ΡƒΡ‚Ρ€ΠΈ объявлСния класса Point, Ρ‚ΠΎ ΠΏΠΎΡΠ²ΠΈΡ‚ся Ρ€ΠΎΠ²Π½ΠΎ ΠΎΠ΄ΠΈΠ½ экзСмпляр Π΄Π°Π½Π½Ρ‹Ρ… с ΠΈΠΌΠ΅Π½Π΅ΠΌ Point. origin, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ всСгда Π±ΡƒΠ΄Π΅Ρ‚ ΡΡΡ‹Π»Π°Ρ‚ΡŒΡΡ Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ (0,0). ПолС static Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ всСгда, нСзависимо ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, сколько сущСствуСт ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Point. ЗначСния x ΠΈ y Ρ€Π°Π²Π½Ρ‹ Π½ΡƒΠ»ΡŽ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ числовыС поля, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π½Π΅ Π±Ρ‹Π»ΠΎ присвоСно Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ значСния, ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‚ΡΡ нулями. Класс System — стандартный класс Java, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ имССтся статичСскоС ΠΏΠΎΠ»Π΅ с ΠΈΠΌΠ΅Π½Π΅ΠΌ out, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½ΠΎΠ΅ для направлСния Π²Ρ‹Π²ΠΎΠ΄Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹ΠΉ Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠΎΡ‚ΠΎΠΊ. Π’Π΅Ρ€ΠΌΠΈΠ½ «ΠΏΠΎΠ»Π΅», ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ имССтся Π² Π²ΠΈΠ΄Ρƒ ΠΏΠΎΠ»Π΅, ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ΅ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, хотя Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… случаях для большСй ясности ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ‚Π΅Ρ€ΠΌΠΈΠ½ «Π½Π΅ΡΡ‚атичСскоС ΠΏΠΎΠ»Π΅».

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹. ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π²Ρ‹ΡˆΠ΅ класса Point ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ‹ Π² Π»ΡŽΠ±ΠΎΠΌ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ имССтся ссылка Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Point, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ поля этого класса ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Ρ‹ с ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ словом public. Класс Point прСдставляСт собой ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠΉ класс. На ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΠΎΠΉΡ‚ΠΈΡΡŒ ΠΈ ΠΏΡ€ΠΎΡΡ‚Ρ‹ΠΌΠΈ классами — Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ чисто Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΡ… Π·Π°Π΄Π°Ρ‡ ΠΏΠ°ΠΊΠ΅Ρ‚Π° ΠΈΠ»ΠΈ ΠΊΠΎΠ³Π΄Π° для Π²Π°ΡˆΠΈΡ… Ρ†Π΅Π»Π΅ΠΉ Ρ…Π²Π°Ρ‚Π°Π΅Ρ‚ ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΡ… Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ….

Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, настоящиС прСимущСства ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ программирования ΠΏΡ€ΠΎΡΠ²Π»ΡΡŽΡ‚ΡΡ Π² Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ ΡΠΏΡ€ΡΡ‚Π°Ρ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ класса. Π’ ΡΠ·Ρ‹ΠΊΠ΅ Java ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π°Π΄ классом ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡŽΡ‚ΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² класса — инструкций, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π½Π°Π΄ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π½ΡƒΠΆΠ½Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚. Π’ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°Ρ… часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Ρ‚Π°ΠΊΠΈΠ΅ Π΄Π΅Ρ‚Π°Π»ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ класса, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ скрыты ΠΎΡ‚ Π²ΡΠ΅Ρ… ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². Π”Π°Π½Π½Ρ‹Π΅ ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π² ΠΌΠ΅Ρ‚ΠΎΠ΄Π°Ρ… ΠΈ ΡΡ‚ановятся нСдоступными для всСх ΠΏΡ€ΠΎΡ‡ΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² — Π² ΡΡ‚ΠΎΠΌ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ основной смысл Π΄Π°Π½Π½Ρ‹Ρ…. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΈΠΌΠ΅Π΅Ρ‚ ноль ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ². ΠœΠ΅Ρ‚ΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΎΠ±ΡŠΡΠ²Π»ΡΡ‚ΡŒΡΡ с ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ словом void, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° содСрТатся Π² Π±Π»ΠΎΠΊΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹ΠΌΠΈ скобками { ΠΈ }, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‚ Π·Π° ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΈ ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ Π΅Π³ΠΎ сигнатуры. Π‘ΠΈΠ³Π½Π°Ρ‚ΡƒΡ€ΠΎΠΉ называСтся имя ΠΌΠ΅Ρ‚ΠΎΠ΄Π°, сопровоТдаСмоС числом ΠΈ Ρ‚ΠΈΠΏΠΎΠΌ Π΅Π³ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ². МоТно ΡƒΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ класс Point ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² Π½Π΅Π³ΠΎ простой ΠΌΠ΅Ρ‚ΠΎΠ΄ clear, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ выглядит Ρ‚Π°ΠΊ:

public void clear () {.

x = 0;

y = 0;

}.

ΠœΠ°ΡΡΠΈΠ²Ρ‹. ΠŸΡ€ΠΎΡΡ‚Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, содСрТащиС всСго ΠΎΠ΄Π½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΏΠΎΠ»Π΅Π·Π½Ρ‹, Π½ΠΎ ΠΈΡ… Π½Π΅Π΄ΠΎΡΡ‚Π°Ρ‚ΠΎΡ‡Π½ΠΎ. Π‘ΠΊΠ°ΠΆΠ΅ΠΌ Ρ‚Π°ΠΊ, для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈΠ³Ρ€Ρ‹ Π² ΠΊΠ°Ρ€Ρ‚Ρ‹ трСбуСтся мноТСство ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Card, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Π±Ρ‹Π»ΠΎ Π±Ρ‹ ΠΎΠΏΠ΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ с Π΅Π΄ΠΈΠ½Ρ‹ΠΌ Ρ†Π΅Π»Ρ‹ΠΌ. Для Ρ‚Π°ΠΊΠΈΡ… случаСв Π² ΡΠ·Ρ‹ΠΊΠ΅ Java прСдусмотрСны массивы. Массивом называСтся Π½Π°Π±ΠΎΡ€ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, относящихся ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡƒ Ρ‚ΠΈΠΏΡƒ. Доступ ΠΊ ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°ΠΌ массива осущСствляСтся посрСдством простых цСлочислСнных индСксов. Π’ ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡Π½ΠΎΠΉ ΠΈΠ³Ρ€Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Deck (ΠΊΠΎΠ»ΠΎΠ΄Π°) ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ: Π‘Π½Π°Ρ‡Π°Π»Π° ΠΌΡ‹ ΠΎΠ±ΡŠΡΠ²Π»ΡΠ΅ΠΌ константу с ΠΈΠΌΠ΅Π½Π΅ΠΌ DECK_SIZE, ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‰ΡƒΡŽ количСство ΠΊΠ°Ρ€Π΄ Π² ΠΊΠΎΠ»ΠΎΠ΄Π΅. Π—Π°Ρ‚Π΅ΠΌ ΠΏΠΎΠ»Π΅ cards ΠΎΠ±ΡŠΡΠ²Π»ΡΠ΅Ρ‚ΡΡ Π² Π²ΠΈΠ΄Π΅ массива Ρ‚ΠΈΠΏΠ° Card — для Ρ‚ΠΎΠ³ΠΎ послС ΠΈΠΌΠ΅Π½ΠΈ Ρ‚ΠΈΠΏΠ° Π² ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½ΠΈΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Π΅ скобки [ΠΈ]. Π Π°Π·ΠΌΠ΅Ρ€ массива опрСдСляСтся ΠΏΡ€ΠΈ Π΅Π³ΠΎ создании ΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ. Π’Ρ‹Π·ΠΎΠ² ΠΌΠ΅Ρ‚ΠΎΠ΄Π° print ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, ΠΊΠ°ΠΊ производится доступ ΠΊ ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°ΠΌ массива: индСкс Π½ΡƒΠΆΠ½ΠΎΠ³ΠΎ элСмСнта Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Π΅ скобки [ΠΈ], ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π·Π° ΠΈΠΌΠ΅Π½Π΅ΠΌ массива. Как Π½Π΅Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ Π΄ΠΎΠ³Π°Π΄Π°Ρ‚ΡŒΡΡ ΠΏΠΎ Ρ‚Сксту ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅-массивС имССтся ΠΏΠΎΠ»Π΅ length, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ хранится количСство элСмСнтов Π² ΠΌΠ°ΡΡΠΈΠ²Π΅. Π“Ρ€Π°Π½ΠΈΡ†Π°ΠΌΠΈ массива ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ†Π΅Π»Ρ‹Π΅ числа 0 ΠΈ length-1. Если ΠΏΠΎΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚Ρƒ массива, индСкс ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ Π·Π° ΡΡ‚ΠΈ ΠΏΡ€Π΅Π΄Π΅Π»Ρ‹, Ρ‚ΠΎ Π²ΠΎΠ·Π±ΡƒΠΆΠ΄Π°Π΅Ρ‚ся ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ IndexOutOfBounds. Π’ ΡΡ‚ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Ρ‚Π°ΠΊΠΆΠ΅ дСмонстрируСтся Π½ΠΎΠ²Ρ‹ΠΉ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ объявлСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… — пСрСмСнная Ρ†ΠΈΠΊΠ»Π° объявлСна Π² ΡΠ΅ΠΊΡ†ΠΈΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ†ΠΈΠΊΠ»Π° for. ОбъявлСниС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π² ΡΠ΅ΠΊΡ†ΠΈΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ — ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ ΠΈ Π½Π°Π³Π»ΡΠ΄Π½Ρ‹ΠΉ способ объявлСния простой ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ†ΠΈΠΊΠ»Π°. Вакая конструкция допускаСтся лишь ΠΏΡ€ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ†ΠΈΠΊΠ»Π° for; Π²Ρ‹ Π½Π΅ ΡΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ΅ условия Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π΅ if ΠΈΠ»ΠΈ while. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ Ρ†ΠΈΠΊΠ»Π° i ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΠ΅Ρ‚ лишь Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° for. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ Ρ†ΠΈΠΊΠ»Π°, объявлСнная ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, исчСзаСт сразу ΠΆΠ΅ послС Π΅Π³ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ — Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π΅Π΅ ΠΈΠΌΡ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π² ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°Ρ… Ρ†ΠΈΠΊΠ»Π°.

ΠšΠ»Π°ΡΡΡ‹. Π‘Π°Π·ΠΎΠ²Ρ‹ΠΌ элСмСнтом ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ программирования Π² ΡΠ·Ρ‹ΠΊΠ΅ Java являСтся класс. Π—Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹Π΅ статичСскиС классы-Ρ‡Π»Π΅Π½Ρ‹ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ составныС части ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, доступ ΠΊ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ осущСствляСтся Ρ‡Π΅Ρ€Π΅Π· внСшний класс. НапримСр, рассмотрим экзСмпляр класса ΠœΠ°Ρ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ сопоставляСт ΠΊΠ»ΡŽΡ‡ΠΈ ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡ. Π’Π½ΡƒΡ‚Ρ€ΠΈ экзСмпляра ΠœΠ°Ρ€ для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠ°Ρ€Ρ‹ ΠΊΠ»ΡŽΡ‡ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ создаСтся ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Entry. Π₯отя каТдая такая запись ассоциируСтся со ΡΡ…Π΅ΠΌΠΎΠΉ, ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρƒ Π½Π΅ Π½Π°Π΄ΠΎ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ ΡΠΎΠ±ΡΡ‚Π²Π΅Π½Π½Ρ‹ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌ этой записи (geyKey, getValue ΠΈ setValue). Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ нСстатичСскиС классы-Ρ‡Π»Π΅Π½Ρ‹ для прСдставлСния ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… записСй Π² ΡΡ…Π΅ΠΌΠ΅ ΠœΠ°Ρ€ Π±Ρ‹Π»ΠΎ Π±Ρ‹ Ρ€Π°ΡΡ‚ΠΎΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ, самоС Π»ΡƒΡ‡ΡˆΠ΅Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ — Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ статичСский класс-Ρ‡Π»Π΅Π½. Если Π² Π΄Π΅ΠΊΠ»Π°Ρ€Π°Ρ†ΠΈΠΈ этой записи Π²Ρ‹ ΡΠ»ΡƒΡ‡Π°ΠΉΠ½ΠΎ пропуститС ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ statlc, схСма Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, Π½ΠΎ ΠΊΠ°ΠΆΠ΄Π°Ρ запись Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π½Π΅Π½ΡƒΠΆΠ½ΡƒΡŽ ссылку Π½Π° ΠΎΠ±Ρ‰ΡƒΡŽ схСму, напрасно занимая врСмя ΠΈ ΠΌΠ΅ΡΡ‚ΠΎ Π² ΠΏΠ°ΠΌΡΡ‚ΠΈ.

Π’Π΄Π²ΠΎΠΉΠ½Π΅ Π²Π°ΠΆΠ½ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²Ρ‹Π±ΠΎΡ€ ΠΌΠ΅ΠΆΠ΄Ρƒ статичСским ΠΈ Π½Π΅ΡΡ‚атичСским классом-Ρ‡Π»Π΅Π½ΠΎΠΌ, ΠΊΠΎΠ³Π΄Π° этот класс являСтся ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ ΠΈΠ»ΠΈ Π·Π°Ρ‰ΠΈΡ‰Π΅Π½Π½Ρ‹ΠΌ Ρ‡Π»Π΅Π½ΠΎΠΌ класса, ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°ΠΌ. Π’ ΡΡ‚ΠΎΠΌ случаС класс-Ρ‡Π»Π΅Π½ являСтся Ρ‡Π°ΡΡ‚ΡŒΡŽ внСшнСго API, ΠΈ Π² ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… вСрсиях ΡƒΠΆΠ΅ нСльзя Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ нСстатичСский класс-Ρ‡Π»Π΅Π½ статичСским, Π½Π΅ ΠΏΠΎΡ‚Сряв совмСстимости Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Ρ… ΠΊΠΎΠ΄ΠΎΠ².

АнонимныС классы Π² ΡΠ·Ρ‹ΠΊΠ΅ программирования Java Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΈΠΌΠ΅Π½ΠΈ. Он Π½Π΅ ΡΠ²Π»ΡΠ΅Ρ‚ся Ρ‡Π»Π΅Π½ΠΎΠΌ содСрТащСго Π΅Π³ΠΎ класса. ВмСсто Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π΄Π΅ΠΊΠ»Π°Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ с ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‡Π»Π΅Π½Π°ΠΌΠΈ класса, ΠΎΠ½ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ дСкларируСтся ΠΈ ΠΏΠΎΡ€ΠΎΠΆΠ΄Π°Π΅Ρ‚ экзСмпляр Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ использования. Анонимный класс ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π² Π»ΡŽΠ±ΠΎΠΌ мСстС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π³Π΄Π΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π΅Ρ‚ΡΡ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ выраТСния. Π’ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΠΈ ΠΎΡ‚ ΠΌΠ΅ΡΡ‚ополоТСния Π°Π½ΠΎΠ½ΠΈΠΌΠ½Ρ‹ΠΉ класс Π²Π΅Π΄Π΅Ρ‚ сСбя ΠΊΠ°ΠΊ статичСский Π»ΠΈΠ±ΠΎ ΠΊΠ°ΠΊ нСстатичСский класс-Ρ‡Π»Π΅Π½: Π² Π½Π΅ΡΡ‚атичСском контСкстС появляСтся ΠΎΠΊΡ€ΡƒΠΆΠ°ΡŽΡ‰ΠΈΠΉ Π΅Π³ΠΎ экзСмпляр.

ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π°Π½ΠΎΠ½ΠΈΠΌΠ½Ρ‹Ρ… классов ΠΈΠΌΠ΅Π΅Ρ‚ нСсколько ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π°Π½ΠΎΠ½ΠΈΠΌΠ½Ρ‹ΠΉ класс ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ дСкларируСтся ΠΈ ΠΏΠΎΡ€ΠΎΠΆΠ΄Π°Π΅Ρ‚ экзСмпляр, Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠΎΠ³Π΄Π° Π΅Π³ΠΎ экзСмпляр Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΡ€ΠΎΠΆΠ΄Π°Ρ‚ΡŒΡΡ лишь Π² ΠΎΠ΄Π½ΠΎΠΌ мСстС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Анонимный класс Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΈΠΌΠ΅Π½ΠΈ, поэтому ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ρ‚ΠΎΠΌ случаС, Ссли послС пороТдСния экзСмпляра Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π½Π° Π½Π΅Π³ΠΎ ΡΡΡ‹Π»Π°Ρ‚ΡŒΡΡ. Анонимный класс ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ лишь ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ своСго интСрфСйса ΠΈΠ»ΠΈ супСркласса. Он Π½Π΅ ΠΎΠ±ΡŠΡΠ²Π»ΡΠ΅Ρ‚ ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ Π½ΠΎΠ²Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ для доступа ΠΊ Π½ΠΈΠΌ Π½Π΅Ρ‚ ΠΏΠΎΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π°Π½ΠΎΠ½ΠΈΠΌΠ½Ρ‹Π΅ классы стоят срСди Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΌΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, строк Π΄Π²Π°Π΄Ρ†Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ мСньшС. ИспользованиС Π±ΠΎΠ»Π΅Π΅ Π΄Π»ΠΈΠ½Π½Ρ‹Ρ… Π°Π½ΠΎΠ½ΠΈΠΌΠ½Ρ‹Ρ… Классов ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΡΠ»ΠΎΠΆΠ½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния Π΅Π΅ Ρ‡Ρ‚Сния.

class Point {.

}.

Имя исходного Ρ„Π°ΠΉΠ»Π° Java Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠΌΠ΅Π½ΠΈ хранящСгося Π² Π½Π΅ΠΌ класса. РСгистр Π±ΡƒΠΊΠ² Π²Π°ΠΆΠ΅Π½ ΠΈ Π² ΠΈΠΌΠ΅Π½ΠΈ класса, ΠΈ Π² ΠΈΠΌΠ΅Π½ΠΈ Ρ„Π°ΠΉΠ»Π°.

Как Π²Ρ‹ ΠΏΠΎΠΌΠ½ΠΈΡ‚Π΅, класс — это шаблон для создания ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. Класс опрСдСляСт структуру ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΈ Π΅Π³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‰ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ интСрфСйс. Π’ ΠΏΡ€ΠΎΡ†Π΅ΡΡΠ΅ выполнСния Java-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ систСма ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ опрСдСлСния классов для создания прСдставитСлСй классов. ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚Π΅Π»ΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ. Π’Π΅Ρ€ΠΌΠΈΠ½Ρ‹ «ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚Π΅Π»ΡŒ», «ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ€» ΠΈ «ΠΎΠ±ΡŠΠ΅ΠΊΡ‚» взаимозамСняСмы. НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π° общая Ρ„ΠΎΡ€ΠΌΠ° опрСдСлСния класса.

class имя_класса extends имя_супСркласса { type пСрСмСнная1_ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°:

type пСрСмСнная2_ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°:

type пСрСмСннаяN_ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°:

type имямСтода1 (список_ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²) { Ρ‚Π΅Π»ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°;

}.

type имямСтода2 (список_ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²) { Ρ‚Π΅Π»ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°;

}.

type имя ΠΌΠ΅Ρ‚ΠΎΠ΄Π°Πœ (список_ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²) { Ρ‚Π΅Π»ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°;

}.

}.

ΠšΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово extends ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ «ΠΈΠΌΡ_класса» — это подкласс класса «ΠΈΠΌΡ_супСркласса». Π’ΠΎ Π³Π»Π°Π²Π΅ классовой ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ Java стоит СдинствСнный Π΅Π΅ Π²ΡΡ‚Ρ€ΠΎΠ΅Π½Π½Ρ‹ΠΉ класс — Object. Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ подкласс нСпосрСдствСнно этого класса, ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово extends ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ Π·Π° Π½ΠΈΠΌ имя супСркласса ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ — транслятор Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ ΠΈΡ… Π² Π²Π°ΡˆΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ автоматичСски. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ»ΡƒΠΆΠΈΡ‚ΡŒ класс Point, ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Ρ€Π°Π½Π΅Π΅. Π›ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ классы, вСроятно, относятся ΠΊ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΉ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… классов. Π›ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ класс ΠΌΠΎΠΆΠ½ΠΎ Π΄Π΅ΠΊΠ»Π°Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²Π΅Π·Π΄Π΅, Π³Π΄Π΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π΅Ρ‚ΡΡ Π΄Π΅ΠΊΠ»Π°Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ, ΠΈ ΠΎΠ½ ΠΏΠΎΠ΄Ρ‡ΠΈΠ½ΡΠ΅Ρ‚ся Ρ‚Π΅ΠΌ ΠΆΠ΅ самым ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ видимости. Π›ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ класс ΠΈΠΌΠ΅Π΅Ρ‚ нСсколько ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠΎΠ², ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡŽΡ‰ΠΈΡ… Π΅Π³ΠΎ с ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· Ρ‚Ρ€Π΅Ρ… Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΉ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… классов. Как ΠΈ ΠΊΠ»Π°ΡΡΡ‹-Ρ‡Π»Π΅Π½Ρ‹, Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ классы ΠΈΠΌΠ΅ΡŽΡ‚ ΠΈΠΌΠ΅Π½Π° ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ. Как ΠΈ Π°Π½ΠΎΠ½ΠΈΠΌΠ½Ρ‹Π΅ классы, ΠΎΠ½ΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΠΊΡ€ΡƒΠΆΠ°ΡŽΡ‰ΠΈΠΉ ΠΈΡ… ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ€ Ρ‚ΠΎΠ³Π΄Π° ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ Π² Π½Π΅ΡΡ‚атичСском контСкстС. Как ΠΈ Π°Π½ΠΎΠ½ΠΈΠΌΠ½Ρ‹Π΅ классы, ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ достаточно ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΌΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΠΌΠ΅ΡˆΠ°Ρ‚ΡŒ удобству чтСния ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΈΠ»ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΠ½ΠΈ содСрТатся.

ПодвСдСм ΠΈΡ‚ΠΎΠ³ΠΈ. Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… классов, каТдая ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ своС мСсто. Если Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ класс Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Π²ΠΈΠ΄Π΅Π½ Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Π°ΠΌΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΈΠ»ΠΈ ΠΎΠ½ ΡΠ»ΠΈΡˆΠΊΠΎΠΌ Π΄Π»ΠΈΠ½Π½Ρ‹ΠΉ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΡƒΠ΄ΠΎΠ±Π½ΠΎ Ρ€Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π² Π³Ρ€Π°Π½ΠΈΡ†Π°Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄Π°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ класс-Ρ‡Π»Π΅Π½. Если ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ экзСмпляру класса-Ρ‡Π»Π΅Π½Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ° ссылка Π½Π° Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠΉ Π΅Π³ΠΎ экзСмпляр, Π΄Π΅Π»Π°ΠΉΡ‚Π΅ Π΅Π³ΠΎ нСстатичСским, Π² ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… случаях ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ статичСским. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ класс находится Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°. Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ экзСмпляры этого класса Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΠΎΠ΄Π½ΠΎΠΌ мСстС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ ΡƒΠΆΠ΅ Π΅ΡΡ‚ΡŒ Ρ‚ΠΈΠΏ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ΠΈΠ·ΡƒΠ΅Ρ‚ это класс, сдСлайтС Π΅Π³ΠΎ Π°Π½ΠΎΠ½ΠΈΠΌΠ½Ρ‹ΠΌ классом. Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС это Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ класс.

ΠŸΡ€ΠΎΡΡ‚Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ Π² Java Π½Π΅ ΡΠ²Π»ΡΡŽΡ‚ся ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ, ΠΎΠ½ΠΈ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹ простым Ρ‚ΠΈΠΏΠ°ΠΌ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹Ρ… языков программирования. Π’ Java имССтся восСмь простых Ρ‚ΠΈΠΏΠΎΠ²: — byte, short, int, long, char, float, double ΠΈ boolean. Π˜Ρ… ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π° Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ Π³Ρ€ΡƒΠΏΠΏΡ‹: Π¦Π΅Π»Ρ‹Π΅. К Π½ΠΈΠΌ относятся Ρ‚ΠΈΠΏΡ‹ byte, short, int ΠΈ long. Π­Ρ‚ΠΈ Ρ‚ΠΈΠΏΡ‹ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ для Ρ†Π΅Π»Ρ‹Ρ… чисСл со Π·Π½Π°ΠΊΠΎΠΌ. Π’ΠΈΠΏΡ‹ с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ — float ΠΈ double. Они слуТат для прСдставлСния чисСл, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ… Π΄Ρ€ΠΎΠ±Π½ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ. Π‘ΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ Ρ‚ΠΈΠΏ char. Π­Ρ‚ΠΎΡ‚ Ρ‚ΠΈΠΏ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для прСдставлСния элСмСнтов ΠΈΠ· Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ символов, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π±ΡƒΠΊΠ² ΠΈΠ»ΠΈ Ρ†ΠΈΡ„Ρ€. ЛогичСский Ρ‚ΠΈΠΏ boolean. Π­Ρ‚ΠΎ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ‚ΠΈΠΏ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ для прСдставлСния логичСских Π²Π΅Π»ΠΈΡ‡ΠΈΠ½. Π’ Java, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΄Ρ€ΡƒΠ³ΠΈΡ… языков, отсутствуСт автоматичСскоС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ². НСсовпадСниС Ρ‚ΠΈΠΏΠΎΠ² ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ Π½Π΅ ΠΊ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΡŽ ΠΏΡ€ΠΈ трансляции, Π° ΠΊ ΡΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΡŽ ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ΅. Для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° строго ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ Π½Π°Π±ΠΎΡ€Ρ‹ допустимых Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ. ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ² (type casting) — ΠΎΠ΄Π½ΠΎ ΠΈΠ· Π½Π΅ΠΏΡ€ΠΈΡΡ‚Π½Ρ‹Ρ… свойств C++, Ρ‚Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ² сохранСно ΠΈ Π² ΡΠ·Ρ‹ΠΊΠ΅ Java. Иногда Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ ситуации, ΠΊΠΎΠ³Π΄Π° Ρƒ Π²Π°Ρ Π΅ΡΡ‚ΡŒ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Π° ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Ρ‚ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°, Π° Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π΅Π΅ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°. Для Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² это ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈ Π±Π΅Π· привСдСния Ρ‚ΠΈΠΏΠ°, Π² Ρ‚Π°ΠΊΠΈΡ… случаях говорят ΠΎΠ± Π°Π²Ρ‚оматичСском ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΈ Ρ‚ΠΈΠΏΠΎΠ². Π’ Java автоматичСскоС ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ρ‚ΠΎΠΌ случаС, ΠΊΠΎΠ³Π΄Π° точности прСдставлСния чисСл ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ-ΠΏΡ€ΠΈΠ΅ΠΌΠ½ΠΈΠΊΠ° достаточно для хранСния исходного значСния. Π’Π°ΠΊΠΎΠ΅ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ происходит, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ занСсСнии Π»ΠΈΡ‚Π΅Ρ€Π°Π»ΡŒΠ½ΠΎΠΉ константы ΠΈΠ»ΠΈ значСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ‚ΠΈΠΏΠ° byte ΠΈΠ»ΠΈ short Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Ρ‚ΠΈΠΏΠ° int. Π­Ρ‚ΠΎ называСтся Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ (widening) ΠΈΠ»ΠΈ ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΠ΅ΠΌ (promotion), ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρ‚ΠΈΠΏ мСньшСй разрядности Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅Ρ‚ΡΡ (ΠΏΠΎΠ²Ρ‹ΡˆΠ°Π΅Ρ‚ΡΡ) Π΄ΠΎ Π±ΠΎΠ»ΡŒΡˆΠ΅Π³ΠΎ совмСстимого Ρ‚ΠΈΠΏΠ°. Π Π°Π·ΠΌΠ΅Ρ€Π° Ρ‚ΠΈΠΏΠ° int всСгда достаточно для хранСния чисСл ΠΈΠ· Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°, допустимого для Ρ‚ΠΈΠΏΠ° byte, поэтому Π² ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… ситуациях ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° явного привСдСния Ρ‚ΠΈΠΏΠ° Π½Π΅ Ρ‚рСбуСтся. Π’ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв Π½Π΅Π²Π΅Ρ€Π½ΠΎ, поэтому для занСсСния значСния Ρ‚ΠΈΠΏΠ° int Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Ρ‚ΠΈΠΏΠ° byte Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ привСдСния Ρ‚ΠΈΠΏΠ°. Π­Ρ‚Ρƒ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ ΠΈΠ½ΠΎΠ³Π΄Π° Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ суТСниСм (narrowing), ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π²Ρ‹ ΡΠ²Π½ΠΎ сообщаСтС транслятору, Ρ‡Ρ‚ΠΎ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρƒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½Π° ΡƒΠΌΠ΅ΡΡ‚ΠΈΠ»Π°ΡΡŒ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Π½ΡƒΠΆΠ½ΠΎΠ³ΠΎ Π²Π°ΠΌ Ρ‚ΠΈΠΏΠ°. Для привСдСния Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρ‹ ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ Ρ‚ΠΈΠΏΡƒ ΠΏΠ΅Ρ€Π΅Π΄ Π½Π΅ΠΉ Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ этот Ρ‚ΠΈΠΏ, Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹ΠΉ Π² ΠΊΡ€ΡƒΠ³Π»Ρ‹Π΅ скобки. Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π½ΠΈΠΆΠ΅ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π΅ ΠΊΠΎΠ΄Π° дСмонстрируСтся ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠ° источника (ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ‚ΠΈΠΏΠ° int) ΠΊ Ρ‚ΠΈΠΏΡƒ ΠΏΡ€ΠΈΠ΅ΠΌΠ½ΠΈΠΊΠ° (ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ‚ΠΈΠΏΠ° byte). Если Π±Ρ‹ ΠΏΡ€ΠΈ Ρ‚Π°ΠΊΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Ρ†Π΅Π»ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΠ»ΠΎ Π·Π° Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ допустимого для Ρ‚ΠΈΠΏΠ° byte Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°, ΠΎΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΎ ΠΏΡƒΡ‚Π΅ΠΌ дСлСния ΠΏΠΎ ΠΌΠΎΠ΄ΡƒΠ»ΡŽ Π½Π° Π΄ΠΎΠΏΡƒΡΡ‚ΠΈΠΌΡ‹ΠΉ для byte Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ (Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ дСлСния ΠΏΠΎ ΠΌΠΎΠ΄ΡƒΠ»ΡŽ Π½Π° Ρ‡ΠΈΡΠ»ΠΎ — это остаток ΠΎΡ‚ Π΄Π΅Π»Π΅Π½ΠΈΡ Π½Π° ΡΡ‚ΠΎ число).

ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ java ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ класс.

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ