рдореИрдВ рдХреБрдЫ рдкреНрд░рд╢реНрдиреЛрдВ рдХрд╛ рддреБрд░рдВрдд рдЙрддреНрддрд░ рджреВрдВрдЧрд╛, рдЬрд┐рдирдХреЗ рдЙрддреНрддрд░ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рдЦреЛ рд╕рдХрддреЗ рд╣реИрдВред
рдкрд╣рд▓реЗ, рдЙрдиреНрд╣реЛрдВрдиреЗ рдкреВрдЫрд╛ рдХрд┐ рд╡рд┐рд╖рдп рдкрд░ рдХреНрдпрд╛ рдкрдврд╝рдирд╛ рд╣реИред рдореИрдВ рдЗрд╕ рдкреБрд╕реНрддрдХ рдХреА рдЕрддреНрдпрдзрд┐рдХ рдЕрдиреБрд╢рдВрд╕рд╛ рдХрд░рддрд╛ рд╣реВрдВред рдореИрдВрдиреЗ рдЗрд╕реЗ рд░реВрд╕реА рдореЗрдВ рдирд╣реАрдВ рджреЗрдЦрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рдпрд╣ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдкрд░ рдЕрдзрд┐рдХрд╛рдВрд╢ рдкреБрд╕реНрддрдХреЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЕрдзрд┐рдХрд╛рдВрд╢ рдХреЗ рд▓рд┐рдП рдпрд╣ рдПрдХ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред рджреВрд╕рд░реА рдмрд╛рдд, рдЙрдиреНрд╣реЛрдВрдиреЗ рдкреВрдЫрд╛ рдХрд┐ рдРрд╕реА рдкрд╣реЗрд▓рд┐рдпрд╛рдВ рдХрд╣рд╛рдБ рд╕реЗ рд▓рд╛рдПрдБред рдореИрдВ рдпрд╣рд╛рдВ рдХреБрдЫ рднреА рдареЛрд╕ рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рдирд╣реАрдВ рджреЗрддрд╛, рд╡рд┐рднрд┐рдиреНрди рд╕реНрд░реЛрддреЛрдВ рд╕реЗ рдХрд╛рд░реНрдп, рдЬрд┐рдирдореЗрдВ рдХреБрдЫ рдЧреИрд░-рд▓рд╛рднрдХрд╛рд░реА рдкрд░реАрдХреНрд╖рдг рд╕реЗрдЯ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП, рдПрдХ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд░реВрдк рдореЗрдВ, рдЖрдк рдЙрди рд╕реНрд░реЛрддреЛрдВ рдкрд░ рдзреНрдпрд╛рди рджреЗ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рдирдХреЗ рд▓рд┐рдВрдХ рд▓реЗрдЦ рдХреЗ рдкрд╣рд▓реЗ рднрд╛рдЧ рдореЗрдВ рд╣реИрдВред
рдРрд╕рд╛ рд╣реБрдЖ рдХрд┐ рдЗрд╕ рднрд╛рдЧ рдореЗрдВ рдЖрд╕рд╛рди рдХрд╛рд░реНрдп рд╢рд╛рдорд┐рд▓ рдереЗ, рдЗрд╕рд▓рд┐рдП рдкрд░рд┐рдгрд╛рдо рдмреЗрд╣рддрд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рддреЛ, рд╣реИрдмреНрд░рдХреИрдЯ ( рд╕рд╛рд╡рдзрд╛рдиреА, рджреВрд╕рд░реА рдЫрдорд╛рд╣реА рдХреЗ рдЙрддреНрддрд░ рдФрд░ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдореЗрдВ ) рдХреЗ рддрд╣рдд рдЕрдЧрд▓рд╛ рдкрд░реАрдХреНрд╖рдгред
рдХрд╕реМрдЯреА
рдХреЗрд╡рд▓ рдПрдХ рд╕рд╣реА рдЙрддреНрддрд░ рд╣реИ, рдЬрдм рддрдХ рдХрд┐ рдЕрдиреНрдпрдерд╛ рд╕рдВрдХреЗрдд рди рджрд┐рдпрд╛ рдЬрд╛рдПред
рдкреНрд░рд╢реНрди 1
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рдЙрдкрд▓рдмреНрдз рд╣реИ:
class Super { public String name = "Tort"; public String getName() { return name; } } class Sub extends Super { public String name = "Habr"; public static void main(String[] args) { Super s = new Sub(); System.out.println(s.name + " " + s.getName()); } }
рдХрдВрд╕реЛрд▓ рдкрд░ рдХреНрдпрд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛?
- рд╣реИрдмрд░ рдЯреЛрдЯрдХрд╛
- рд╣рдмреНрд░ рд╣рдмреНрд░
- рддреЛрд░ рд╣рдмреНрд░
- рдЯреЙрд░реНрдЪрд░ рдЯреЛрдЯрдХрд╛
- рд╕рдВрдХрд▓рди рддреНрд░реБрдЯрд┐
рдкреНрд░рд╢реНрди реи
рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рд╣рдореЗрдВ рдХреНрдпрд╛ рдорд┐рд▓рддрд╛ рд╣реИ:
boolean b1 = false; boolean b2 = false; if (b2 != b1 = !b2) { System.out.println("YES"); } else { System.out.println("NO"); }
рд╡рд┐рдХрд▓реНрдк:
- рд╕рдВрдХрд▓рди рддреНрд░реБрдЯрд┐
- рд░рдирдЯрд╛рдЗрдо рддреНрд░реБрдЯрд┐
- YES рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛
- рдирд╣реАрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛
- рдХреБрдЫ рднреА рдЖрдЙрдЯрдкреБрдЯ рдирд╣реАрдВ рд╣реЛрдЧрд╛
рдкреНрд░рд╢реНрди 3
class Test{ public static void main(String[] args) { String s = "old"; print(s, s = "new"); } static void print(String s1, String s2) { System.out.println(s1 +" "+ s2); } }
рдкрд░рд┐рдгрд╛рдо рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛:
- рдирдпрд╛ рдкреБрд░рд╛рдирд╛
- рдкреБрд░рд╛рдирд╛ рдирдпрд╛
- рдирдпрд╛ рдирдпрд╛
- рдкреБрд░рд╛рдирд╛ рдкреБрд░рд╛рдирд╛
- рдХреЛрдб рд╕рдВрдХрд▓рд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ
рдкреНрд░рд╢реНрди 4
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рдЙрдкрд▓рдмреНрдз рд╣реИ:
class A { A() { print(); } void print() { System.out.println("A"); } } class B extends A { int i = Math.round(3.5f); public static void main(String[] args) { A a = new B(); a.print(); } void print() { System.out.println(i); } }
рдХреНрдпрд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛?
- рдП рек
- рдП.рдП.
- 0 4
- рек рек
- рдПрдХ рдФрд░ рдЬрд╡рд╛рдм
рдкреНрд░рд╢реНрди 5
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рдЙрдкрд▓рдмреНрдз рд╣реИ:
class Threader extends Thread { public void run() { System.out.println("In Threader"); } } class Pooler extends Thread { public Pooler(){ } public Pooler(Runnable r) { super( r ); } public void run() { System.out.println("In Pooler"); } } public class TestClass { public static void main(String[] args) { Threader t = new Threader(); Thread h = new Pooler(t); h.start(); } }
рдЗрд╕рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╣рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ:
- рдкреВрд▓рд░ рдореЗрдВ
- рдереНрд░реЗрдбрд░ рдореЗрдВ
- рдХреЛрдб рд╕рдВрдХрд▓рд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ
- рд░рдирдЯрд╛рдЗрдо рддреНрд░реБрдЯрд┐
рдкреНрд░рд╢реНрди 6
рдЗрд╕ рдХреЛрдб рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛ рдХрд╣рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ?
class Habr implements I1, I2{ public void m() { System.out.println("habr"); } public static void main(String[] args) { Habr habr = new Habr(); habr.m(); } } interface I1{ int VALUE = 1; void m(); } interface I2{ int VALUE = 2; void m(); }
рдЙрддреНрддрд░ рд╡рд┐рдХрд▓реНрдк (POSSIBLELY RIGHT ANSWERS):
- "рд╣рдмреНрд░" рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛
- рд╣реИрдмрд░ VALUE рддрдХ рдирд╣реАрдВ рдкрд╣реБрдВрдЪ рд╕рдХрддрд╛ рд╣реИ
- рдпрджрд┐ рдЖрдк рдХрд┐рд╕реА рдПрдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдореЗрдВ VALUE рдирд┐рдХрд╛рд▓рддреЗ рд╣реИрдВ, рддреЛ рдХреЛрдб рдХреЗрд╡рд▓ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рд╣реЛрдЧрд╛
- рдХреЛрдб рд╕рдВрдХрд▓рд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ
рдкреНрд░рд╢реНрди 7
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рдЙрдкрд▓рдмреНрдз рд╣реИ:
class Test{ public static void main(String[] args) throws Exception { int[] a = null; int i = a [ m() ]; } public static int m() throws Exception { throw new Exception("Another Exception"); } }
рдХреНрдпрд╛ рдпрд╣ рдХреЛрдб NullPointerException рдХреЛ рдлреЗрдВрдХ рджреЗрдЧрд╛?
- рд╣рд╛рдВ
- рдирд╣реАрдВ
рд╕рд╛рд╡рдзрд╛рдиреА - рдЙрддреНрддрд░
рддреЛ рд╕рд╣реА рдЙрддреНрддрд░ рд╣реИрдВ:
- 4
- 1
- 2
- 3
- 1
- 1
- 2
рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг
рдкреНрд░рд╢реНрди 1
рдЗрд╕ рдкреНрд░рдХрд╛рд░,
class Super { public String name = "Tort"; public String getName() { return name; } } class Sub extends Super { public String name = "Habr"; public static void main(String[] args) { Super s = new Sub(); System.out.println(s.name + " " + s.getName()); } }
рдпрд╣ рдХреЛрдб Tort Tort рдХреЛ рдЖрдЙрдЯрдкреБрдЯ рджреЗрдЧрд╛ред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдмрд╣реБрд░реВрдкрддрд╛ рдХреЛ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░, рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ, рд╡рд┐рдХрд▓реНрдк рдЙрд╕ рд╡рд╕реНрддреБ рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рд▓рд┐рдВрдХ рд╕рдВрджрд░реНрднрд┐рдд рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рд╕реНрд╡рдпрдВ рд▓рд┐рдВрдХ рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдирд╣реАрдВред рд▓реЗрдХрд┐рди рдЬрд╛рд╡рд╛ рдиреЗ рддрд░реАрдХреЛрдВ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд┐рдпрд╛ рд╣реИред рдФрд░ рд╡рд╣ рдпрд╣ рд╣реИред рдУрд╡рд░рд░рд╛рдЗрдб рдХрд┐рдП рдЧрдП рдлрд╝реАрд▓реНрдб рдпрд╛ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдмрд╕ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИрдВред рдЕрд░реНрдерд╛рддреН, рдЬрд┐рд╕ рдкрджреНрдзрддрд┐ рдХрд╛ рд╣рдо рд╕рдВрджрд░реНрдн рд▓реЗрддреЗ рд╣реИрдВ, рдЙрд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╡рд┐рдзрд┐ рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣рдореЗрд╢рд╛ рдЪреБрдирд╛ рдЬрд╛рддрд╛ рд╣реИред рд╡рд░реНрдЧ рдлрд╝реАрд▓реНрдб, рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд, рд▓рд┐рдВрдХ рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЪреБрдирд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдкреБрдирд░реНрдкрд░рд┐рднрд╛рд╖рд┐рдд рдпрд╣рд╛рдВ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рд╣рдореЗрдВ рдпрд╣ рдкрд░рд┐рдгрд╛рдо рдорд┐рд▓рддрд╛ рд╣реИред
рдкреНрд░рд╢реНрди реи
boolean b1 = false; boolean b2 = false; if (b2 != b1 = !b2) { System.out.println("YES"); } else { System.out.println("NO"); }
рдпрд╣рд╛рдВ рд╣рдореЗрдВ рдПрдХ рд╕рдВрдХрд▓рди рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИред рдпрд╣ рдЖрд╕рд╛рди рд╣реИ, рдХреЗрд╡рд▓ рд╕рд╡рд╛рд▓ рдСрдкрд░реЗрдЯрд░реЛрдВ рдХреА рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╣реИред =! рдХреА рдЙрдЪреНрдЪ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдЭреВрдареЗ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ =! рдмреА 2, рдЕрд░реНрдерд╛рдд, рдПрдХ рдорд╛рди рдХреЛ рд╕реНрдерд┐рд░ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ред
рдкреНрд░рд╢реНрди 3
class Test{ public static void main(String[] args) { String s = "old"; print(s, s = "new"); } static void print(String s1, String s2) { System.out.println(s1 +" "+ s2); } }
рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рддрд░реНрдХреЛрдВ рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдмрд╛рдПрдВ рд╕реЗ рджрд╛рдПрдВ рдФрд░ рдЗрд╕ рддрдереНрдп рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рджреВрд╕рд░реЗ рддрд░реНрдХ рдореЗрдВ рд╣рдо рдПрдХ рдирдпрд╛ рдорд╛рди рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ, рдХреБрдЫ рднреА рдирд╣реАрдВ рдмрджрд▓рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдкрд╣рд▓реЗ рддрд░реНрдХ рдХреА рдЧрдгрдирд╛ рдХреА рдЬрд╛ рдЪреБрдХреА рд╣реИред рдпрджрд┐ рдХрд┐рд╕реА рдПрдХ рддрд░реНрдХ рдХреА рдЧрдгрдирд╛ рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддреА рд╣реИ, рддреЛ рдЕрдиреНрдп рд╕рднреА рддрд░реНрдХреЛрдВ рдХреА рдЧрдгрдирд╛ рдмрд┐рд▓реНрдХреБрд▓ рдирд╣реАрдВ рдХреА рдЬрд╛рдПрдЧреАред
рдкреНрд░рд╢реНрди 4
class A { A() { print(); } void print() { System.out.println("A"); } } class B extends A { int i = Math.round(3.5f); public static void main(String[] args) { A a = new B(); a.print(); } void print() { System.out.println(i); } }
рд╡рд░реНрдЧ рдмреА рдореЗрдВ рдкреНрд░рд┐рдВрдЯ () рд╡рд┐рдзрд┐ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рддрджрдиреБрд╕рд╛рд░, рд╡рд┐рдзрд┐ рдХрд╛ рдЪрдпрди рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╡рд╕реНрддреБ рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЬрдм рдХреНрд▓рд╛рд╕ рдмреА рдХрд╛ рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдП рдХреЛ рдкрд╣рд▓реЗ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдкреНрд░рд┐рдВрдЯ () рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИред рдЪреВрдВрдХрд┐ рд╣рдо рдХрдХреНрд╖рд╛ рдмреА рдХрд╛ рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдХреНрд▓рд╛рд╕ рдмреА рдХреЗ рдкреНрд░рд┐рдВрдЯ () рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рд╕рдордп, рдЪрд░ I рдХреЛ рдЕрднреА рддрдХ рдХреЛрдИ рдорд╛рди рдЕрд╕рд╛рдЗрди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди (0) рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддрд╛ рд╣реИред рдареАрдХ рд╣реИ, рдмрд╛рдж рдореЗрдВ, рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬреНрдб рд╡реИрд▓реНрдпреВ I рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╣рдореЗрдВ рдЙрддреНрддрд░ 0 4 рдорд┐рд▓рддрд╛ рд╣реИред
рдкреНрд░рд╢реНрди 5
class Threader extends Thread { public void run() { System.out.println("In Threader"); } } class Pooler extends Thread { public Pooler(){ } public Pooler(Runnable r) { super( r ); } public void run() { System.out.println("In Pooler"); } } public class TestClass { public static void main(String[] args) { Threader t = new Threader(); Thread h = new Pooler(t); h.start(); } }
рдпрд╣ рдЬреНрдЮрд╛рдд рд╣реИ рдХрд┐ рдереНрд░реЗрдб рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдмрдирд╛рддреЗ рд╕рдордп, рдЖрдк рд░рдирд╡реЗрдмрд▓ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХреЛ рдкрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд░рди () рд╡рд┐рдзрд┐ рдЬрд┐рд╕реЗ рдПрдХ рдЕрд▓рдЧ рдереНрд░реЗрдб рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЗрд╕рд▓рд┐рдП, рдЕрдкреЗрдХреНрд╖рд┐рдд рдЙрддреНрддрд░ "рдЗрди рдереНрд░реЗрдбрд░" рдХрд╛ рдирд┐рд╖реНрдХрд░реНрд╖ рд╣реИред рдЧреИрд░-рдорд╛рдирдХ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд╛ рдХрд╛рд░рдг рдкреВрд▓рд░ рд╡рд░реНрдЧ рдореЗрдВ рд░рди () рд╡рд┐рдзрд┐ рд╣реИред рд░рди () рдкрджреНрдзрддрд┐ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдХреЗ, рд╣рдордиреЗ рдереНрд░реЗрдб рдХреНрд▓рд╛рд╕ рдХреЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдЦреЛ рджрд┐рдпрд╛ред
рдкреНрд░рд╢реНрди 6
class Habr implements I1, I2{ public void m() { System.out.println("habr"); } public static void main(String[] args) { Habr habr = new Habr(); habr.m(); } } interface I1{ int VALUE = 1; void m(); } interface I2{ int VALUE = 2; void m(); }
рдпрд╣ рдХреЛрдб рдмрд┐рд▓реНрдХреБрд▓ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рд╣реИред рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдПрдХ рд╣реА рдореАрдЯрд░ () рд╡рд┐рдзрд┐ рджреЛрдиреЛрдВ рдЗрдВрдЯрд░рдлреЗрд╕ рдореЗрдВ рдореМрдЬреВрдж рд╣реИ рд╕рдорд╕реНрдпрд╛рдПрдВ рдкреИрджрд╛ рдирд╣реАрдВ рдХрд░рддреА рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдХрд┐рд╕реА рднреА рдорд╛рдорд▓реЗ рдореЗрдВ рдПрдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реЛрдЧрд╛ред VALUE рдлрд╝реАрд▓реНрдб рдХреЗ рд╕рд╛рде рдФрд░ рдЕрдзрд┐рдХ рдХрдард┐рди рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рдЕрд╕реНрдкрд╖реНрдЯрддрд╛ рдкреИрджрд╛ рд╣реЛрддреА рд╣реИ, рд╣рдо рдЙрд╕рд╕реЗ рд╕реАрдзреЗ рд╕рдВрдкрд░реНрдХ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред рд▓реЗрдХрд┐рди рдпрд╣ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕ рддрд░рд╣:
((I1) habr) .VALUE;
рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдХрд┐рд╕реА рдПрдХ рдЗрдВрдЯрд░рдлреЗрд╕ рдореЗрдВ рд▓рд╛рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рдЙрди рдлрд╝реАрд▓реНрдбреНрд╕ рддрдХ рдкрд╣реБрдВрдЪ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдкрд╣рд▓реЗ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рдереЗред
рдкреНрд░рд╢реНрди 7
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рдЙрдкрд▓рдмреНрдз рд╣реИ:
class Test{ public static void main(String[] args) throws Exception { int[] a = null; int i = a [ m() ]; } public static int m() throws Exception { throw new Exception("Another Exception"); } }
рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдПрдХ NullPointerException рдЙрддреНрдкрдиреНрди рдирд╣реАрдВ рд╣реЛрдЧреА, рдХреНрдпреЛрдВрдХрд┐ рдХрд┐рд╕реА рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдЕрд╕реНрддрд┐рддреНрд╡ рдХреА рдЬрд╛рдБрдЪ рд╕рд╣рд┐рдд рдХрд┐рд╕реА рд╕рд░рдгреА рдХреЗ рд╕рд╛рде рдХреЛрдИ рднреА рдХреНрд░рд┐рдпрд╛, рддрддреНрд╡ рд╕реВрдЪрдХрд╛рдВрдХ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рд╣реА рд╣реЛрддреА рд╣реИред
рдЕрдЧрд░ рд╣рдо рдХрд┐рд╕реА рдПрд░реЗ рддрддреНрд╡ рдХреЛ рдХреБрдЫ рдЕрд╕рд╛рдЗрди рдХрд░рддреЗ рд╣реИрдВ рддреЛ рд╕реНрдерд┐рддрд┐ рдФрд░ рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛ рдЬрд╛рддреА рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреЛрдб рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
int i = 0 ; int[] arr = {1, 2} ; arr[i] = i = 6 ;
рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ, рдХрдИ рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рдСрдкрд░реЗрд╢рди рдХреА рдЧрдгрдирд╛ рджрд╛рдИрдВ рд╕реЗ рдмрд╛рдИрдВ рдУрд░ рдХреА рдЬрд╛рддреА рд╣реИред рд▓реЗрдХрд┐рди рд╕реВрдЪрдХрд╛рдВрдХ рдПрдХ рдЕрдкрд╡рд╛рдж рд╣реИрдВред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╕реВрдЪрдХрд╛рдВрдХ (рдЧрд┐рд░рдлреНрддрд╛рд░ [0]) рдХреА рдЧрдгрдирд╛ рдкрд╣рд▓реЗ рдХреА рдЬрд╛рдПрдЧреА, рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рд╣реА рдЪрд░ рдХреЛ рдПрдХ рдирдпрд╛ рдорд╛рди рд╕реМрдВрдкрд╛ рдЬрд╛рдПрдЧрд╛ред
рдзреНрдпрд╛рди рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдк рд╕рднреА рдХрд╛ рдзрдиреНрдпрд╡рд╛рджред рд╢рд╛рдпрдж, рдореИрдВ рдЕрдм рдЗрд╕ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдирд╣реАрдВ рд▓рд┐рдЦреВрдВрдЧрд╛, рдореЗрд░реА рдпреЛрдЬрдирд╛ рдХреБрдЫ рд╡рд┐рд╖рдпреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдХреА рд╣реИ рдЬреЛ рдХрд┐рддрд╛рдмреЛрдВ рдореЗрдВ рдЦрд░рд╛рдм рд╣реИрдВред