рдкреНрд░рд╕реНрддрд╛рд╡рдирд╛
рдореИрдВ рдкрд░реАрдХреНрд╖рд╛ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдЬреНрдЮрд╛рди рдФрд░ рдЕрдкрдиреЗ рдЫрд╛рдкреЛрдВ рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдЙрди рд╕рднреА рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рдЗрд╕ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ
рд╢реВрдиреНрдп рднрд╛рдЧ рдХреЗ рд▓рд┐рдП рд╕рд┐рдлрд╛рд░рд┐рд╢реЗрдВ рдХреАрдВ! рдЖрдЬ рдореИрдВ рдПрдХреНрд╕реЗрд╕ рдореЙрдбрд┐рдлрд╝рд╛рдпрд░реНрд╕ рдФрд░ рдЗрдирд╣реЗрд░рд┐рдЯреЗрдВрд╕ рдФрд░ рдкреИрдХреЗрдЬ рдХреЗ рд╕рд╛рде рдЙрдирдХреЗ рд╕рдВрдмрдВрдзреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереЛрдбрд╝реА рдФрд░ рдмрд╛рдд рдХрд░рддрд╛ рд╣реВрдВ, рд╡реЗрд░рд┐рдПрдЧреНрд╕ рдФрд░ рдПрдиреНрдпреВрдорд░реЗрд╢рдиреНрд╕, рд╕рд╛рде рд╣реА рд╕рд░рдгрд┐рдпреЛрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рддрд╛ рд╣реВрдВред рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рд╣реНрд░реИрдЬрд╝рд┐рдЯреЗрд▓реА рдиреЗ рдлрд┐рд░ рд╕реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреА рд╣реИ рдФрд░ рдЬреЛ рдореИрдВ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рдирд╛ рднреВрд▓ рдЧрдпрд╛ рдерд╛ рдпрд╛ рдмрд╕ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рдерд╛ рдЙрд╕реЗ рдкреВрд░рдХ рдХрд░рдирд╛ред
рд╣рдо рдХрдЯ рдХреЗ рддрд╣рдд рдкрд░реАрдХреНрд╖рд╛ рдХреА рддреИрдпрд╛рд░реА рдЬрд╛рд░реА рд░рдЦрддреЗ рд╣реИрдВред
рдкреВрд░реА рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рд▓рд┐рдП рд╕рд╛рдордЧреНрд░реА
- рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛, рдирд╛рдордХрд░рдг рдирд┐рдпрдо, рд╡рд░реНрдЧреЛрдВ рдФрд░ рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЗ рд▓рд┐рдП рд╕рдВрд╢реЛрдзрдХ
- рд╡рд┐рдзрд┐рдпреЛрдВ рдФрд░ рдХреНрд╖реЗрддреНрд░реЛрдВ, vararg, enum рдФрд░ рд╕рд░рдгрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдВрд╢реЛрдзрдХ
рддрд░реАрдХреЗ, рдХреНрд╖реЗрддреНрд░, рд╕реНрдерд╛рдиреАрдп рдЪрд░ рдФрд░ рдЙрдирдХреЗ рд╕рдВрд╢реЛрдзрдХ
рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдХрд╣рд╛, рдЬрд╛рд╡рд╛ рдореЗрдВ рдЪрд╛рд░ рдПрдХреНрд╕реЗрд╕ рдореЙрдбрд┐рдлрд╝рд╛рдпрд░ рд╣реИрдВ: рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ, рдирд┐рдЬреА, рд╕рдВрд░рдХреНрд╖рд┐рдд рдФрд░ рдПрдХ рд╕рдВрд╢реЛрдзрдХ рдХреА рдХрдореА (рдпрд╣ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдбрд┐рдлрд╛рдпрд░ рд╣реИ)ред рдЙрдирдореЗрдВ рд╕реЗ рдХреЗрд╡рд▓ рджреЛ рдЧреИрд░-рдиреЗрд╕реНрдЯреЗрдб рд╡рд░реНрдЧреЛрдВ рдФрд░ рдЗрдВрдЯрд░рдлреЗрд╕ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддреЗ рд╣реИрдВ: рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдФрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕рдВрд╢реЛрдзрдХред рдкреВрд░рд╛ рд╕реЗрдЯ рдХрдХреНрд╖рд╛ рдХреЗ рддрд░реАрдХреЛрдВ рдФрд░ рдХреНрд╖реЗрддреНрд░реЛрдВ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИред
- рдпрджрд┐ рдХрд┐рд╕реА рд╡рд┐рдзрд┐ рдпрд╛ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдПрдХ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╕рдВрд╢реЛрдзрдХ рд╣реИ, рддреЛ рд╡реЗ рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ рдкреВрд░реЗ рдмреНрд░рд╣реНрдорд╛рдВрдб рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реИрдВред
- рдпрджрд┐ рдХрд┐рд╕реА рд╡рд┐рдзрд┐ рдпрд╛ рдлрд╝реАрд▓реНрдб рдореЗрдВ рдирд┐рдЬреА рдПрдХреНрд╕реЗрд╕ рд╕рдВрд╢реЛрдзрдХ рд╣реИ, рддреЛ рд╡реЗ рдХреЗрд╡рд▓ рдХрдХреНрд╖рд╛ рдХреЗ рднреАрддрд░ рдЙрдкрд▓рдмреНрдз рд╣реИрдВред рд╡рд░реНрдЧ рдХреЗ рдРрд╕реЗ рд╕рджрд╕реНрдп рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдирд╣реАрдВ рдорд┐рд▓реЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЙрдиреНрд╣реЗрдВ рдЙрдкрд╡рд░реНрдЧреЛрдВ рдореЗрдВ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕реЗ рдпрд╛рдж рд░рдЦреЗрдВред
- рдпрджрд┐ рдХрд┐рд╕реА рд╡рд┐рдзрд┐ рдпрд╛ рдлрд╝реАрд▓реНрдб рдореЗрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдкрд╣реБрдБрдЪ рд╕рдВрд╢реЛрдзрдХ рд╣реИ, рддреЛ рд╡реЗ рдХреЗрд╡рд▓ рдкреИрдХреЗрдЬ рдХреЗ рднреАрддрд░ рдЙрдкрд▓рдмреНрдз рд╣реИрдВред
- рдпрджрд┐ рдХрд┐рд╕реА рд╡рд┐рдзрд┐ рдпрд╛ рдлрд╝реАрд▓реНрдб рдореЗрдВ рдПрдХ рд╕рдВрд░рдХреНрд╖рд┐рдд рдПрдХреНрд╕реЗрд╕ рд╕рдВрд╢реЛрдзрдХ рд╣реИ, рддреЛ рд╡реЗ рд╣реИрдВ, рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╕реНрд╡рдпрдВ рдХрдХреНрд╖рд╛ рдФрд░ рдЙрд╕рдХреЗ рд╡рдВрд╢рдЬ рдХреЗ рд▓рд┐рдП рд╕реБрд▓рднред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╡рд░реНрдЧ рдХреЗ рдЗрди рд╕рджрд╕реНрдпреЛрдВ рддрдХ рдкрд╣реБрдВрдЪ рдЙрдирдХреЗ рднрд╛рдЗрдпреЛрдВ рдХреЛ рдкреИрдХреЗрдЬ рдореЗрдВ рдорд┐рд▓ рд╕рдХрддреА рд╣реИред
рдкрд░реАрдХреНрд╖рд╛ рдХреЗ рднрд╛рдЧ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдХреЛрдб рдХреА рдЬрд╛рдБрдЪ рдХрд░рдирд╛, рдЖрдкрдХреЛ рд╕рд╛рд╡рдзрд╛рди рд░рд╣рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╣рдореЗрд╢рд╛ рд╡рд┐рдзрд┐ рдпрд╛ рдлрд╝реАрд▓реНрдб рдПрдХреНрд╕реЗрд╕ рд╕рдВрд╢реЛрдзрдХ рдФрд░ рд╡рд░реНрдЧ рдПрдХреНрд╕реЗрд╕ рд╕рдВрд╢реЛрдзрдХ рджреЛрдиреЛрдВ рдкрд░ рдзреНрдпрд╛рди рджреЗрдВред рдЖрдк рдЕрдХреНрд╕рд░ рдРрд╕реА рд╕реНрдерд┐рддрд┐ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рд╡рд┐рдзрд┐ рдореЗрдВ рдПрдХ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╕рдВрд╢реЛрдзрдХ рд╣реЛрддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рдЗрд╕реЗ рд░рдЦрдиреЗ рд╡рд╛рд▓рд╛ рд╡рд░реНрдЧ рдХреЗрд╡рд▓ рдкреИрдХреЗрдЬ рд╕реЗ рд╣реА рд╕реБрд▓рдн рд╣реЛрддрд╛ рд╣реИред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдкреИрдХреЗрдЬ рдХреЗ рдмрд╛рд╣рд░ рд╕реЗ рд╡рд┐рдзрд┐ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реЛрдЧреАред рдЖрдк рдЗрд╕ рд╡рд┐рд╡рд░рдг рдкрд░ рдзреНрдпрд╛рди рджрд┐рдП рдмрд┐рдирд╛ рдЖрд╕рд╛рдиреА рд╕реЗ рдЛрдг рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдореИрдВ рдХреБрдЫ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдкрд░ рднреА рдзреНрдпрд╛рди рджреЗрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдЬреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдкрд╣реБрдВрдЪ рдФрд░ рд╕рдВрд░рдХреНрд╖рд┐рдд рд╕рдВрд╢реЛрдзрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИрдВред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЙрджрд╛рд╣рд░рдг рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред рдмрддрд╛ рджреЗрдВ рдХрд┐ рдЯреЗрд╕реНрдЯ рдкреИрдХреЗрдЬ рдореЗрдВ рдПрдХ рдмреЗрд╕ рдХреНрд▓рд╛рд╕ рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕ рд╡рд░реНрдЧ рдХреЗ рджреЛ рдХреНрд╖реЗрддреНрд░ рд╣реИрдВред рдкрд╣рд▓рд╛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдПрдХреНрд╕реЗрд╕ рдХреЗ рд╕рд╛рде рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рджреВрд╕рд░рд╛ рд╕реБрд░рдХреНрд╖рд┐рдд рд╣реИред
package org.kimrgrey.scjp.test; public class BaseClass { int defaultValue; protected int protectedValue; public BaseClass() { this.defaultValue = 1; this.protectedValue = 1; } }
package org.kimrgrey.scjp.test; public class BaseClass { int defaultValue; protected int protectedValue; public BaseClass() { this.defaultValue = 1; this.protectedValue = 1; } }
рдпрджрд┐ рдЖрдк рдЗрд╕ рдкреИрдХреЗрдЬ рдореЗрдВ SamePackageAccess рд╡рд░реНрдЧ рдХреА рдШреЛрд╖рдгрд╛ рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рдмреЗрд╕рдХреНрд▓рд╛рд╕ рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдирд╣реАрдВ рдЖрдПрдЧрд╛, рддреЛ рдпрд╣ рдЕрднреА рднреА рдбрд┐рдлрд╝реЙрд▓реНрдЯрд╡реИрд▓реНрдпреВ рдлрд╝реАрд▓реНрдб рдФрд░ рд╕рдВрд░рдХреНрд╖рд┐рддрд╡реИрд▓реНрдпреВ рдлрд╝реАрд▓реНрдб рджреЛрдиреЛрдВ рддрдХ рдкрд╣реБрдВрдЪ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдЧрд╛ред рдпрд╣ рд╕рдВрд░рдХреНрд╖рд┐рдд рд╕рдВрд╢реЛрдзрдХ рдХреА рдЗрд╕ рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдпрд╛рдж рд░рдЦрдиреЗ рдпреЛрдЧреНрдп рд╣реИ: рдкреИрдХреЗрдЬ рдХреЗ рднреАрддрд░ рд╕рдВрд░рдХреНрд╖рд┐рдд рд╡рд░реНрдЧ рдХреЗ рд╕рджрд╕реНрдпреЛрдВ рдХреЛ рд╡рд┐рд░рд╛рд╕рдд рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдФрд░ рдПрдХ рд▓рд┐рдВрдХ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рджреЛрдиреЛрдВ рдЙрдкрд▓рдмреНрдз рд╣реИрдВред рдПрдХ рдЙрджрд╛рд╣рд░рдг:
package org.kimrgrey.scjp.test; public class SamePackageAccess { public SamePackageAccess() { BaseClass a = new BaseClass(); a.defaultValue = 2; a.protectedValue = 2; } }
package org.kimrgrey.scjp.test; public class SamePackageAccess { public SamePackageAccess() { BaseClass a = new BaseClass(); a.defaultValue = 2; a.protectedValue = 2; } }
рдЗрд╕ рдкреИрдХреЗрдЬ рдореЗрдВ рд╡рд┐рд░рд╛рд╕рдд рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╕рдВрджрд░реНрдн рдФрд░ рд╡рд┐рд░рд╛рд╕рдд рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рджреЛрдиреЛрдВ рдХреНрд╖реЗрддреНрд░реЛрдВ рддрдХ рдкрд╣реБрдВрдЪ рдХреЛ рдЕрднреА рднреА рд╕рд╣реЗрдЬрд╛ рдЧрдпрд╛ рд╣реИред
package org.kimrgrey.scjp.test; public class SamePackageSubclass extends BaseClass { public SamePackageSubclass() { this.defaultValue = 3; this.protectedValue = 3; BaseClass a = new BaseClass(); a.defaultValue = 3; a.protectedValue = 3; } }
package org.kimrgrey.scjp.test; public class SamePackageSubclass extends BaseClass { public SamePackageSubclass() { this.defaultValue = 3; this.protectedValue = 3; BaseClass a = new BaseClass(); a.defaultValue = 3; a.protectedValue = 3; } }
рдЕрдм рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдкреИрдХреЗрдЬ рд╕реЗ рдЖрдЧреЗ рдЬрд╛рдиреЗ рдкрд░ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИред рдкрд╣рд▓реА рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рд╣рдо рдПрдХреНрд╕реЗрд╕ рдореЙрдбрд┐рдлрд╛рдпрд░ рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдП рдмрд┐рдирд╛ рдШреЛрд╖рд┐рдд рдлрд╝реАрд▓реНрдб рддрдХ рдкрд╣реБрдВрдЪ рдЦреЛ рджреЗрдВрдЧреЗред рдореВрд▓ рдкреИрдХреЗрдЬ рдХреЗ рдмрд╛рд╣рд░ рдмрд┐рд▓реНрдХреБрд▓ рд╕рднреА рд╡рд░реНрдЧ рдЗрд╕реЗ рдирд╣реАрдВ рджреЗрдЦреЗрдВрдЧреЗ, рдЬрд┐рд╕рдореЗрдВ рдмреЗрд╕рдХреНрд▓рд╛рд╕ рдХреЗ рдкреНрд░рддреНрдпрдХреНрд╖ рд╡рдВрд╢рдЬ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рд╕рдВрд░рдХреНрд╖рд┐рдд рд╕рдВрд╢реЛрдзрдХ рд╡рд╛рд▓рд╛ рдХреНрд╖реЗрддреНрд░ рдЕрдкрдиреЗ рд╕рднреА рдЙрдкрд╡рд░реНрдЧреЛрдВ рдХреЛ рд╡рд┐рд░рд╛рд╕рдд рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЙрдкрд▓рдмреНрдз рд╣реЛрдЧрд╛ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рд╡рд╛рд░рд┐рд╕ рд▓рд┐рдВрдХ рдХреЗ рдЬрд░рд┐рдП рднреА рдЗрд╕рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдирд╣реАрдВ рдХрд░ рд╕рдХреЗрдЧрд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдПрдХ рдмрд╛рд░ рдПрдХ рд╡рд░реНрдЧ рдкреИрдХреЗрдЬ рдХреЗ рдмрд╛рд╣рд░ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓рд╛ рд╣реИ, рдЖрдЧреЗ рд╡рдВрд╢ рдХреЗ рдЕрдкрд╡рд╛рдж рдХреЗ рд╕рд╛рде, рдХреНрд╖реЗрддреНрд░ рдХрд┐рд╕реА рднреА рд╡рд░реНрдЧ рдХреЗ рд▓рд┐рдП рдмрдВрдж рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред
package org.kimrgrey.scjp.main; import org.kimrgrey.scjp.test.BaseClass; public class OtherPackageSubclass extends BaseClass { public OtherPackageSubclass() { this.defaultValue = 10;
package org.kimrgrey.scjp.main; import org.kimrgrey.scjp.test.BaseClass; public class OtherPackageSubclass extends BaseClass { public OtherPackageSubclass() { this.defaultValue = 10; // Line 8: , this.protectedValue = 10; BaseClass a = new BaseClass(); a.protectedValue = 10; // Line 12: BaseClass } }
рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдПрдХ рдФрд░ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╡рд┐рд╡рд░рдг рднреА рд╣реИред рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдЖрдкрд╕реЗ рдкреВрдЫрд╛ рдЬрд╛рдП рдХрд┐ рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдЖрдк рдЙрдкрд░реЛрдХреНрдд рдХреЛрдб рд╕рдВрдХрд▓рд┐рдд рдХрд░рддреЗ рд╣реИрдВ? рдФрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЙрддреНрддрд░ рд╡рд┐рдХрд▓реНрдк рджреЗрдВ:
- рдХреЛрдб рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛
- рдПрдХ рд╕рдВрдХрд▓рди рддреНрд░реБрдЯрд┐ рдкрдВрдХреНрддрд┐ рд╕рдВрдЦреНрдпрд╛ 8 рдкрд░ рд╣реЛрддреА рд╣реИ
- рд▓рд╛рдЗрди рд╕рдВрдЦреНрдпрд╛ 12 рдкрд░ рдПрдХ рд╕рдВрдХрд▓рди рддреНрд░реБрдЯрд┐ рд╣реЛрдЧреА
рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЬрдм рддрдХ рдХрд┐ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдирд╣реАрдВ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЖрдкрдХреЛ рд╕рднреА рд╕рд╣реА рдЙрддреНрддрд░ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ: 2 рдФрд░ 3, рдФрд░ рдкрд╣рд▓реЗ рдЙрдкрдпреБрдХреНрдд рдПрдХ рдкрд░ рди рд░реБрдХреЗрдВред рд╕рднреА рдЙрддреНрддрд░реЛрдВ рдХреЛ рдзреНрдпрд╛рди рд╕реЗ рдкрдврд╝реЗрдВ рдФрд░ рд╢реБрджреНрдзрддрд╛ рдХреЗ рд▓рд┐рдП рдЬрд╛рдВрдЪреЗрдВред рдпрд╣ рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╣реИ рдЬреЛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдкреНрд░рд╢реНрди рдХреЗ рд╕рд╛рд░ рдХреЛ рдкрдврд╝рдиреЗ рдФрд░ рд╕рдордЭрдиреЗ рдХреЗ рдмрд╛рдж, рдЙрддреНрддрд░реЛрдВ рдХреА рдЬрд╛рдВрдЪ рдФрд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реЗрдВ, рди рдХрд┐ рд╢рдмреНрджреЛрдВ рдХреЗ рджрд┐рдП рдЧрдП рдХреЛрдбред
рд╡рд┐рд░рд╛рд╕рдд рдХреЗ рд╕рд╛рде рдЬреБрдбрд╝реЗ рд╕рдВрд╢реЛрдзрдХ рдХреЗ рдмреАрдЪ, рдЕрдВрддрд┐рдо рдкрд░ рднреА рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдХрдХреНрд╖рд╛рдУрдВ рдХреЗ рд╕рдорд╛рди рддрд░реАрдХреЛрдВ рдкрд░ рдЕрдВрддрд┐рдо рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ: рд╡рд╛рд░рд┐рд╕ рджреНрд╡рд╛рд░рд╛ рдЙрдирдХреЗ рдкреБрдирд░реНрд╡рд┐рддрд░рдг рдХреЛ рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдХрд░рддрд╛ рд╣реИред рдЙрд╕реА рд╕рдордп, рдЕрднреА рднреА рдЙрд╕ рд╡рд░реНрдЧ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдЕрдВрддрд┐рдо рд╡рд┐рдзрд┐ рд╕реНрдерд┐рдд рд╣реИред
рдЖрдк рдЕрдВрддрд┐рдо рд╕рдВрд╢реЛрдзрдХ рдХреЛ рдлрд╝реАрд▓реНрдб, рд╡рд┐рдзрд┐ рддрд░реНрдХ рдФрд░ рд╕реНрдерд╛рдиреАрдп рдЪрд░ рдкрд░ рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЖрджрд┐рдо рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдХрд┐рд╕реА рд╡реИрд░рд┐рдПрдмрд▓ рдХреЗ рдореВрд▓реНрдп рдореЗрдВ рдХреЛрдИ рднреА рдкрд░рд┐рд╡рд░реНрддрди рдЗрд╕рдХреЗ рдирд┐рд╖реЗрдз рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдирд┐рд╖рд┐рджреНрдз рд╣реЛрдЧрд╛ред рдпрд╣ рдпрд╛рдж рд░рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рд╕реНрдерд╛рдиреАрдп рдЪрд░ рдХреЗ рдкреНрд░рд╛рд░рдВрдн рдХреЗ рдХреНрд╖рдг рдХреЛ рд╡рд┐рдзрд┐ рдХреЗ рдврд╛рдВрдЪреЗ рдХреЗ рднреАрддрд░ рдЙрдирдХреЗ рд▓рд┐рдП рдорд╛рдиреЛрдВ рдХрд╛ рдкрд╣рд▓рд╛ рдХрд╛рдо рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ, рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ: рдПрдХ рд╕рдВрдХрд▓рди рддреНрд░реБрдЯрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред рдПрдХ рдЪрд┐рд╣реНрдирд┐рдд рдЕрдВрддрд┐рдо рдХреНрд╖реЗрддреНрд░ рдХреЛ рднреА рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЖрд░рдВрднрд┐рдХ рдмрдирд╛рдирд╛ рд╣реЛрдЧрд╛ред рдпрд╣ рдпрд╛ рддреЛ рд╕реАрдзреЗ рдШреЛрд╖рдгрд╛ рдХреЗ рджреМрд░рд╛рди, рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдмреНрд▓реЙрдХ рдореЗрдВ, рдпрд╛ рдЙрд╕ рдХрдХреНрд╖рд╛ рдХреЗ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдпрд╣ рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╡рд╛рд░рд┐рд╕ рдХреА рдЕрдВрддрд░рд╛рддреНрдорд╛ рдХреЛ рдЕрдВрддрд┐рдо рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЗ рдЖрд░рдВрдн рдХреЛ рдЫреЛрдбрд╝рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рд╣реИред рд▓рд┐рдВрдХ рдХреЗ рд▓рд┐рдП, рдЕрдВрддрд┐рдо рд╕рдВрд╢реЛрдзрдХ рд▓рд┐рдВрдХ рдХреЗ рдкреБрди: рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рдХреЛ рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдХрд░рддрд╛ рд╣реИред рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реА, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рд▓рд┐рдВрдХ рдкреЙрдЗрдВрдЯреНрд╕, рдЕрднреА рднреА рдмрджрд▓реЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ: рдЕрдкрдиреЗ рд░рд╛рдЬреНрдп рдХреЛ рдмрджрд▓рдиреЗ рд╡рд╛рд▓реА рдХреЙрд▓ рд╡рд┐рдзрд┐рдпреЛрдВ, рдлрд╝реАрд▓реНрдбреНрд╕ рдХреЛ рдПрдХ рдирдпрд╛ рдорд╛рди рдЕрд╕рд╛рдЗрди рдХрд░реЗрдВ, рдФрд░ рдЗрд╕реА рддрд░рд╣ред
рдпрд╣ рдпрд╛рдж рд░рдЦрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рдлрд╛рдЗрдирд▓ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреЛрдИ рднреА рд╕рдВрд╢реЛрдзрдХ рд╕реНрдерд╛рдиреАрдп рдЪрд░ рдкрд░ рд▓рд╛рдЧреВ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдпрджрд┐ рдЖрдк рд╕реНрдерд╛рдиреАрдп рдЪрд░ рдШреЛрд╖рдгрд╛ рдореЗрдВ
private int a
рдЬреИрд╕реЗ рдХреБрдЫ рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рд╕рдВрдХрд▓рди рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рд▓реЗрдХрд┐рди рдЦреЗрддреЛрдВ рдХрд╛ рдХреНрдпрд╛?
- рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рдХрд╣рд╛, рд╕рднреА рдЪрд╛рд░ рд╕реНрддрд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреНрд╖реЗрддреНрд░реЛрдВ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИред
- рдлрд╝реАрд▓реНрдб рдХреЛ рдЕрдВрддрд┐рдо рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
- рдлрд╝реАрд▓реНрдб рдХреЛ рдХреНрд╖рдгрд┐рдХ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
- рдлрд╝реАрд▓реНрдб рдХреЛ рд╕реНрдереИрддрд┐рдХ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
- рдлрд╝реАрд▓реНрдб рдХреЛ рдЕрд╕реНрдерд┐рд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
- рдлрд╝реАрд▓реНрдб рдХреЛ рд╕рд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
- рдлрд╝реАрд▓реНрдб рдХреЛ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
- рдлрд╝реАрд▓реНрдб рдХреЛ рд╕рдЦреНрдд рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
- рдлрд╝реАрд▓реНрдб рдХреЛ рдореВрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рдХреБрдЫ рд╕рдВрд╢реЛрдзрдХ, рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╡рд░реНрдгрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИред рдореИрдВ рдмрд╛рдж рдореЗрдВ рд╕рдВрдмрдВрдзрд┐рдд рд╡рд┐рд╖рдпреЛрдВ рдореЗрдВ рдЙрди рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реВрдВрдЧрд╛ (рдХреНрд╖рдгрд┐рдХ рдХреЛ рдХреНрд░рдордмрджреНрдзрддрд╛ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдорд╛рдирд╛ рдЬрд╛рдПрдЧрд╛, рдФрд░ рдмрд╣реБрд╕рдВрдХреЗрддрди рдореЗрдВ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рдФрд░ рдЕрд╕реНрдерд┐рд░)ред
рдкрд░рд┐рд╡рд░реНрддрдиреАрдп рддрд░реНрдХ рд╡рд┐рдзрд┐рдпрд╛рдБ
- рдЬрдм рдЖрдк vararg рдкреИрд░рд╛рдореАрдЯрд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдзрд╛рд░ рдкреНрд░рдХрд╛рд░ рдХрд┐рд╕реА рднреА рдкреНрд░рдХрд╛рд░ рдХрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ: рдЖрджрд┐рдо рдпрд╛ рдирд╣реАрдВред
- рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рдШреЛрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдкреНрд░рдХрд╛рд░ рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рдлрд┐рд░ рддреАрди рдЕрд╡рдзрд┐рдпреЛрдВ, рдПрдХ рд╕реНрдерд╛рди, рдлрд┐рд░ рд╡рд┐рдзрд┐ рдХреЗ рднреАрддрд░ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╕рд░рдгреА рдХрд╛ рдирд╛рдо:
void f (int... a)
ред рдЖрдк рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рдХреЗ рд╕рд╛рде рдкреНрд░рдХрд╛рд░, рддреАрди рдбреЙрдЯреНрд╕ рдФрд░ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХреЛ рднреА рдЕрд▓рдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ: void f(int ... a)
ред рдбреЙрдЯреНрд╕ рдХреЛ рдзреНрдпрд╛рди рд╕реЗ рджреЗрдЦреЗрдВред рдкрд░реАрдХреНрд╖рд╛ рд▓реЗрдЦрдХ рдЙрдиреНрд╣реЗрдВ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред - рдЕрдиреНрдп рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рд╡рд┐рдзрд┐ рдореЗрдВ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рд╡реИрд░рдЧ рдкреИрд░рд╛рдореАрдЯрд░ рдЕрдВрддрд┐рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:
void f (double x, int... a)
- рдПрдХ рд╡рд┐рдзрд┐ рдореЗрдВ рдПрдХ рдФрд░ рдХреЗрд╡рд▓ рдПрдХ рд╡реИрд░рдЧ рдкреИрд░рд╛рдореАрдЯрд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рд╕реНрдкрд╖реНрдЯрддрд╛ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ рдПрдХ рдкреНрд░рд╢реНрди рдХрд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рдЙрджрд╛рд╣рд░рдг рджреВрдВрдЧрд╛ред DoSomething () рд╡рд┐рдзрд┐ рдХреЗ рд▓рд┐рдП рдПрдХ рдШреЛрд╖рдгрд╛ рдЪреБрдиреЗрдВ рддрд╛рдХрд┐ рдиреАрдЪреЗ рдХрд╛ рдХреЛрдб рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд╕рдВрдХрд▓рд┐рдд рд╣реЛ?
package org.kimrgrey.scjp.main; public class Application { public static void main(String[] args) { doSomething(1); doSomething(1, 2); } }
package org.kimrgrey.scjp.main; public class Application { public static void main(String[] args) { doSomething(1); doSomething(1, 2); } }
static void doSomething(int... values) {}
static void doSomething(int[] values) {}
static void doSomething(int x, int... values) {}
рдкрд╣рд▓рд╛ рдФрд░ рддреАрд╕рд░рд╛ рд╡рд┐рдХрд▓реНрдк рд╕рд╣реА рд╣реИрдВред рджреЛрдиреЛрдВ рдХрд┐, рдФрд░ рдПрдХ рдФрд░ рджреЛрдиреЛрдВ рдПрдХ рдХреЙрд▓ рдХреЗ рд╢рдмреНрджрд╛рд░реНрде рдХреЗ рдмрд┐рдВрджреБ рд╕реЗ рдФрд░ рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рд╕рд╣реА рд╣реИрдВред рдХрдИ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдкрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рдХрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рд░рдгреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЗрддрдирд╛ рд╕рд░рд▓ рд╣реИред рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд рд╕рдЪ рдирд╣реАрдВ рд╣реИред рдПрдХ рдЙрджрд╛рд╣рд░рдг:
package org.kimrgrey.scjp.main; public class Application { private static void f (int... a) { for (int i = 0; i < a.length; ++i) { System.out.println(a[i]); } } public static void main(String[] args) { f(new int[] {1, 2 ,3}); } }
package org.kimrgrey.scjp.main; public class Application { private static void f (int... a) { for (int i = 0; i < a.length; ++i) { System.out.println(a[i]); } } public static void main(String[] args) { f(new int[] {1, 2 ,3}); } }
рд╕рдм рдХреБрдЫ рдЖрд╢реНрдЪрд░реНрдпрдЬрдирдХ рд░реВрдк рд╕реЗ рдЗрдХрдЯреНрдард╛ рдФрд░ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред рдореБрдЭреЗ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдФрдкрдЪрд╛рд░рд┐рдХ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдирд╣реАрдВ рдкрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рд╣реИ рдХрд┐ рд╡реЗрд░рдЧ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗрд╡рд▓ рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдЪреАрдиреА рд╣реИ рдФрд░ рдХрдВрдкрд╛рдЗрд▓рд░ рджреНрд╡рд╛рд░рд╛ рдПрдХ рд╕рд░рдгреА рдХреЗ рд╕рдВрджрд░реНрдн рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИред
рд╕реНрдерд╛рдирд╛рдВрддрд░рдг
- рдПрдиреНрдпреВрдорд░реЗрд╢рди рдореЗрдВ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред
- рдЧрдгрдирд╛ рдореЗрдВ рдХреНрд╖реЗрддреНрд░ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред
- рдЧрдгрдирд╛ рдХреЗ рддрд░реАрдХреЗ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред
- рдпрджрд┐ рдХрд┐рд╕реА рдЧрдгрдирд╛ рдХреЛ рдХрдХреНрд╖рд╛ рдХреЗ рдмрд╛рд╣рд░ рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЙрд╕реЗ рдХреЗрд╡рд▓ рджреЛ рдкрд╣реБрдБрдЪ рд╕реНрддрд░ рдорд┐рд▓ рд╕рдХрддреЗ рд╣реИрдВ: рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдпрд╛ рдбрд┐рдлрд╝реЙрд▓реНрдЯред
- рдЧрдгрдирд╛ рдореЗрдВ рдПрдХ рд╕реНрдерд┐рд░ рд╡рд┐рдзрд┐
values()
, рдЬреЛ рдПрдХ рд╕рд░рдгреА рджреЗрддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдЧрдгрди рдХреЗ рд╕рднреА рд╕рдВрднрд╛рд╡рд┐рдд рдорд╛рди рд╣реЛрддреЗ рд╣реИрдВ, рдФрд░ рд╕рдЦреНрддреА рд╕реЗ рдЙрд╕ рдХреНрд░рдо рдореЗрдВ рдЬрд┐рд╕рдореЗрдВ рд╡реЗ рдШреЛрд╖рд┐рдд рдХрд┐рдП рдЧрдП рдереЗред
рдЧрдгрдирд╛ рдХреЗ рднреАрддрд░ рдкреНрд░рддреНрдпреЗрдХ рдорд╛рди рдХреЗ рд▓рд┐рдП, рдЖрдк рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ "рд╢рд░реАрд░" рдХреА рдШреЛрд╖рдгрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ - рдЗрд╕рдХрд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡рд┐рд╡рд░рдгред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рдореВрд▓реНрдп-рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдВрд╕реНрдХрд░рдг рдЙрд╕ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдЕрдзрд┐рднрд╛рд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рд╕рдВрдкреВрд░реНрдг рдЧрдгрдирд╛ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдЖрдкрдХреЛ рдЖрд╡реЗрджрди рдХреА рдЬрд░реВрд░рддреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЧрдгрдирд╛ рд╕рджрд╕реНрдпреЛрдВ рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдПрдХ рдЙрджрд╛рд╣рд░рдг:
package org.kimrgrey.scjp.main; import static java.lang.System.*; enum Currency { UNKNOWN, USD { public String getStringCode() { return "USD"; } public int getSomethingElse() { return 10; } }, UAH { public String getStringCode() { return "UAH"; } }, RUR { public String getStringCode() { return "RUR"; } }; public String getStringCode() { return ""; } } public class Application { private static void f (int... a) { for (int i = 0; i < a.length; ++i) { out.println(a[i]); } } public static void main(String[] args) { out.println(Currency.USD.getStringCode());
package org.kimrgrey.scjp.main; import static java.lang.System.*; enum Currency { UNKNOWN, USD { public String getStringCode() { return "USD"; } public int getSomethingElse() { return 10; } }, UAH { public String getStringCode() { return "UAH"; } }, RUR { public String getStringCode() { return "RUR"; } }; public String getStringCode() { return ""; } } public class Application { private static void f (int... a) { for (int i = 0; i < a.length; ++i) { out.println(a[i]); } } public static void main(String[] args) { out.println(Currency.USD.getStringCode()); // out.println(Currency.USD.getSomethingElse()); } }
рдЗрд╕ рдХреЛрдб рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╕реНрдЯреНрд░рд┐рдВрдЧ "рдпреВрдПрд╕рдбреА" рдХреЛ рдорд╛рдирдХ рдЖрдЙрдЯрдкреБрдЯ рд╕реНрдЯреНрд░реАрдо рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рдПрдЧрд╛ред GetSomethingElse () рд╡рд┐рдзрд┐ рдкрд░ рдзреНрдпрд╛рди рджреЗрдВред рдпрд╣ USD рдХреЗ рдореВрд▓реНрдп рдХреЗ рд▓рд┐рдП рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рдВрдкреВрд░реНрдг рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд╡рдЬреВрдж рдХрд┐ рд╡рд┐рдЬреНрдЮрд╛рдкрди рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╣реИ, рдмрд╛рд╣рд░ рд╕реЗ рдХреЛрдИ рднреА рдЗрд╕ рдкрджреНрдзрддрд┐ рддрдХ рдирд╣реАрдВ рдкрд╣реБрдВрдЪ рд╕рдХрддрд╛ рд╣реИред рдпрджрд┐ рд▓рд╛рдЗрди 44 рдХреЛ рдЕрдкреВрд░реНрдг рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдХреЛрдб рднреА рд╕рдВрдХрд▓рд┐рдд рдирд╣реАрдВ рд╣реЛрдЧрд╛ред
рд╕рд░рдгрд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереЛрдбрд╝рд╛ рд╕рд╛
рдЬрд╛рд╡рд╛ рдореЗрдВ рд╕рд░рдгрд┐рдпрд╛рдБ рдШреЛрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджреЛ рд╡рд┐рдХрд▓реНрдк рд╣реИрдВред рд╡рд░реНрдЧ рдХреЛрд╖реНрдардХ рдХреЛ рдЗрд╕ рддрд░рд╣ рдХреЗ рдирд╛рдо рдХреЗ рдмрд╛рдж рд░рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬреИрд╕реЗ:
int[] a
, - рдпрд╛ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХреЗ рдмрд╛рдж, рдЗрд╕ рддрд░рд╣:
int a[]
ред рдпрд╣ рд╕рдордЭрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рджреЛрдиреЛрдВ рддрд░реАрдХреЗ рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдмрд┐рд▓реНрдХреБрд▓ рд╕рдорд╛рди рд╣реИрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдкрд╣рд▓реЗ рдПрдХ рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХреА рдЬрд╛рддреА рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░,
String[] s[]
рддрд╛рд░ рдХреЗ рджреНрд╡рд┐-рдЖрдпрд╛рдореА рд╕рд░рдгреА рд╕реЗ рдЕрдзрд┐рдХ рдХреБрдЫ рдирд╣реАрдВ рд╣реИред рдкреНрд░рд╢реНрди рдХреЗ рдмрд┐рдирд╛ рд╕рдВрдХрд▓рдиред
рд╕рд░рдгреА рдХреА рдШреЛрд╖рдгрд╛ рдХрд░рддреЗ рд╕рдордп, рдЖрдк рдЗрд╕рдХрд╛ рдЖрдХрд╛рд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ, рдХреНрдпреЛрдВрдХрд┐ рд╕реНрдореГрддрд┐ рдХреЗрд╡рд▓ рддрдм рдмрдирд╛рдИ рдЧрдИ рд╣реИ рдЬрдм рд╕рд░рдгреА рдмрдирд╛рдИ рдЧрдИ рдереА:
int[] a = new int [4]
ред рдЗрд╕рд▓рд┐рдП,
int a[4]
рдХреЛрдб
int a[4]
рдПрдХ рд╕рдВрдХрд▓рди рддреНрд░реБрдЯрд┐ рдХрд╛ рдХрд╛рд░рдг рд╣реЛрдЧрд╛ред рдСрдмреНрдЬреЗрдХреНрдЯ рд╕рдВрджрд░реНрднреЛрдВ рдХреА рдПрдХ рд╕рд░рдгреА рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рдпрд╛рдж рд░рдЦрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рдПрдХ рд╕рд░рдгреА рдмрдирд╛рддреЗ рд╕рдордп, рдСрдмреНрдЬреЗрдХреНрдЯ рд╕реНрд╡рдпрдВ рдирд╣реАрдВ рдмрдирд╛рдП рдЬрд╛рддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреЛрдб
Thread threads = new Thread [20]
рдмреАрд╕ рдирд▓ рдХреА рдПрдХ рд╕рд░рдгреА рдмрдирд╛рдПрдЧрд╛, рдХреЛрдИ рднреА рдирд┐рд░реНрдорд╛рддрд╛ рдирд╣реАрдВ рдХрд╣рд╛ рдЬрд╛рдПрдЧрд╛ред
рдмрд╣реБрдЖрдпрд╛рдореА рд╕рд░рдгрд┐рдпреЛрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рддреЗ рд╕рдордп, рдЖрдкрдХреЛ рдЙрдиреНрд╣реЗрдВ рд╕рд░рдгрд┐рдпреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реЛрдЪрдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рддрддреНрд╡ рдлрд┐рд░ рд╕реЗ рд╕рд░рдгреА рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реИред рдореИрдЯреНрд░рд┐рдХреНрд╕ рдФрд░ рдХреНрдпреВрдмреНрд╕ рдЬреИрд╕реЗ рд╕рд╛рд░ рдирд┐рд░реНрдорд╛рдг рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЛ рдЖрд╕рд╛рди рдмрдирд╛рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдкрд░реАрдХреНрд╖рд╛ рдХреЛ рдХрдард┐рди рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдирд┐рд░реНрдорд╛рдг
int [][]a = new int [10][]
рдХрд╛рдлреА рд╕реНрд╡реАрдХрд╛рд░реНрдп рд╣реИ рдФрд░ рджреЛ рдЖрдпрд╛рдореА рд╕рд░рдгреА рдмрдирд╛рдПрдЧрд╛, рдЬрд┐рд╕рдХреЗ рддрддреНрд╡реЛрдВ рдХреЛ рдмрд╛рдж рдореЗрдВ рдЖрд░рдВрднреАрдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
a[0] = new int [100]
, рдФрд░ рдЬрд░реВрд░реА рдирд╣реАрдВ рдХрд┐ рд╡рд╣ рдмрд░рд╛рдмрд░ рд╣реЛред рд▓рдВрдмрд╛рдИ:
a[1] = new int [200]
ред
рдХрд┐рд╕реА рд╕рд░рдгреА рдХреЛ рдЬрд▓реНрджреА рд╕реЗ рдЖрд░рдВрдн рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП (рддрддреНрд╡ рд╕реЗ рддрддреНрд╡ рдирд╣реАрдВ), рдЖрдк рдЗрд╕ рддрд░рд╣ рд╕реЗ рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
int[] x ={1, 2, 3}
ред рдШреБрдВрдШрд░рд╛рд▓реЗ рдХреЛрд╖реНрдардХ рдореЗрдВ рди рдХреЗрд╡рд▓ рд╕реНрдерд┐рд░рд╛рдВрдХ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рдмрд▓реНрдХрд┐ рдЪрд░ рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рднрд╛рд╡ рднреА рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдк рдЧреБрдордирд╛рдо рд╕рд░рдгрд┐рдпрд╛рдБ рднреА рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдХреНрд╕рд░ рддрдм рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рдЖрдкрдХреЛ рдХрд┐рд╕реА рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХрдбрд╝рд╛рдИ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╕рд░рдгреА рдкрд╛рд╕ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ:
f(new int [] {2, 4, 8})
ред рдпрджрд┐ рдЖрдк рдкрд░реАрдХреНрд╖рд╛ рдореЗрдВ рдРрд╕рд╛ рдбрд┐рдЬрд╝рд╛рдЗрди рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдзреНрдпрд╛рди рд░рдЦреЗрдВред рдПрдХ рдореМрдХрд╛ рд╣реИ рдХрд┐ рдРрд╕рд╛ рдХреБрдЫ рд▓рд┐рдЦрд╛ рдЬрд╛рдПрдЧрд╛:
f(new int[3] {2, 4, 8})
ред рдЗрд╕ рддрд░рд╣ рдХреЗ рдХреЛрдб рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдЕрдирд╛рдо рд╕рд░рдгреА рдХрд╛ рдЖрдХрд╛рд░ рдЗрд╕рдХреА рдШреЛрд╖рдгрд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЧрдгрдирд╛ рдХреА рдЬрд╛рддреА рд╣реИ рдФрд░ рдЗрд╕реЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЗрд╕ рдкрд░ рдореИрдВ рдЖрдЬ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рдКрдВрдЧрд╛ред рдирд┐рдХрдЯ рднрд╡рд┐рд╖реНрдп рдореЗрдВ, рд╣рдо рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЬрд╛рд╡рд╛ (рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ, рддреБрд▓рдирд╛, рдЙрджрд╛рд╣рд░рдг, рдЕрдВрдХрдЧрдгрд┐рдд), рд╕рд╛рде рд╣реА рд╕рд╛рде рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдХрдХреНрд╖рд╛рдУрдВ рдФрд░ рдзрд╛рд░рд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕рдВрдЪрд╛рд▓рди рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗред