Animal
ืฉืืฆืืื ืช ืืืืช ืื ืืฆืืจ ืื ืฉืืื voice
- " ืงืื ":
public class Animal {
public void voice() {
System.out.println("Voice!");
}
}
ืืืจืืช ืฉืื ืขืชื ืืชืืื ื ืืืชืื ืืช ืืชืืื ืืช, ืกืืืจ ืืื ืื ืฉืืชื ืืืื ืืจืืืช ืืช ืืืขืื ืืคืืื ืฆืืืืืช: ืืฉ ืืจืื ืืขืื ืืืื ืืขืืื, ืืืืื "ืืืืจืื" ืืืจืช: ืืชืืืื ืืืื, ืืจืืืืื ืืงืจืงืจืื, ื ืืฉืื ืฉืืฉื ืื. ืืืืจื ืฉืื ื ืืื ืคืฉืืื: ืืืืื ืข ืืืฆืืจืช ืฉืื ืฉืืืืช ืืืฆืืขื. ืืืงืื ืืืฆืืจ ืฉืืืืช voiceCat()
ืืืืื, voiceSnake()
ืืฉืจืืงื ืืื', ืื ืื ื ืจืืฆืื voice()
ืฉืื ืืฉ ืืฉืจืฉ, ืืืชืื ืืืื, ืืืืื ืื ืื ืืฉืงืืจืืื ืืฉืืื. ื ืืื ืืืฉืื ืืืช ืืงืืืช ืืืืฆืขืืช ืื ืื ืื ืขืงืืคืช ืืฉืืื (Override ื-Java) . ืืืงืืคืืื ื ืืชื ืช ืืช ืืืกืืจ ืืื ืืืื ื "ืขืงืืคื": ืืืืคืช ืฉืืื ืืชืื ืืช ืืื ืื ืขืฆืืื ืืื ืืืช ืืชืืื ืืช ืฉื ืฉืคืช ืชืื ืืช ืืืืคืฉืจืช ืืชืช-ืืืืงื ืื ืืืืงื ืืื ืืกืคืง ืืืฉืื ืกืคืฆืืคื ืฉื ืฉืืื ืฉืืืจ ืืืืฉืืช ืืืืช ืืืืืงืืช ืืขื. ืื ืืืชืืช ืืืจืื. ืื, ืืืืคื ืืืื, ื ืืื. ืขืงืืคื ืืืคืฉืจืช ืื ืืงืืช ืฉืืื ืฉื โโืืืืงื ืื ืืืืชืื ืืืฉืื ืืฉืื ืฉื ืฉืืื ืื ืืื ืืืืงื ืฆืืฆืืืช. ืืืืฉืื ืืืืฉ "ืืืืืฃ" ืืช ืืืืจื ืืืืชืช ืืืื. ืืื ื ืจืื ืืื ืื ื ืจืื ืขื ืืืืื. ืืืื ื ืืฆืืจ 4 ืืืชืืช ืืืฉืืืืช ืืืืชื ืฉืื ื Animal
:
public class Bear extends Animal {
@Override
public void voice() {
System.out.println("ะ -ั-ั!");
}
}
public class Cat extends Animal {
@Override
public void voice() {
System.out.println("Meow!");
}
}
public class Dog extends Animal {
@Override
public void voice() {
System.out.println("Woof!");
}
}
public class Snake extends Animal {
@Override
public void voice() {
System.out.println("ะจ-ั-ั!");
}
}
ืคืจืืฆืช ืืืื ืงืื ื ืืขืชืื: ืืื ืืขืงืืฃ ืืช ืืฉืืืืช ืฉื ืืืืงืช ืืื, ืขืืืจ ืื ืืงืื ืฉื ืืืืืงื ืืฆืืฆืืืช ื- Intellij IDE a, ืืงืฉ Ctrl+O ืืืืจ ื-โ Descendant methods... โ ืืืชืคืจืื. ืชืชืจืืื ืืืฉืชืืฉ ืืืงืฉื ืงืืฆืืจ ืืืืชืืื, ืื ืืืืฅ ืืชืืืช ืชืืื ืืืช! ืืื ืืงืืืข ืืช ืืืชื ืืืืช ืฉืจืฆืื ื, ืขืฉืื ื ืืื ืืืจืื:
- ืืฆืจื ื ืฉืืื ืืื ืืืืงื ืฆืืฆืืืช ืขื ืฉื ืืื ืืืชืืื ืืืืืงืช ืืื.
-
ืืืจื ื ืืืืืจ ืฉืงืจืื ื ืืฉืืื ืืื ืืื ืฉื ืืืืงืช ืืื ืืกืืื: ืื ืื ื ืจืืฆืื ืืขืงืืฃ ืืช ืืืชื ืืืืช ืฉืื. ืขืืืจ ื"ืืืืขื" ืืื ืืืืืจ, ืฉืื ื ืืขืจืช @Override ืขื ืืฉืืื .
ืืืขืจื @Override ืืืืฆืืช ืืขื ืฉืืื ืืืืจืช ืืืืืจ (ืืื ืืืชืื ืชืื ืฉืงืืจืืื ืืช ืืงืื ืฉืื): "ืืื ืืกืืจ, ืื ืื ืืขืืช ืื ืืฉืืื ืฉืื. ืื ื ืืืืจ ืฉืฉืืื ืืื ืืืจ ืงืืืืช, ืืื ื ืจืืฆื ืืขืงืืฃ ืืืชื". - ืืชืื ื ืืช ืืืืฉืื ืฉืื ืื ื ืฆืจืืืื ืขืืืจ ืื ืืืชื ืฆืืฆื. ืืฉืงืืจืืื ืื, ื ืืฉ
voice()
ืฆืจืื ืืฉืจืืง, ืืื ืฆืจืื ืื ืืื ืืื'.
public class Main {
public static void main(String[] args) {
Animal animal1 = new Dog();
Animal animal2 = new Cat();
Animal animal3 = new Bear();
Animal animal4 = new Snake();
animal1.voice();
animal2.voice();
animal3.voice();
animal4.voice();
}
}
ืคืื ืงืื ืกืืื: ืืืื! ืืืื! ืจืจืจ! ืฉืฉืฉ! ืืขืืื, ืืื ืขืืื ืืื ืฉืฆืจืื! ืืฆืจื ื 4 ืืฉืชื ื ืืชืืืืกืืช ืฉื ืืืืงืช ืืื Animal
, ืืืงืฆื ื ืืืชื ื-4 ืืืืืืงืืื ืฉืื ืื ืฉื ืืืืืงืืช ืืฆืืฆืืื. ืืชืืฆืื ืืื, ืื ืืคืฅ ืืชื ืื ืืฆืืจื ืฉืื ื. ืขืืืจ ืื ืืืช ืืืืืืงืืช ืืฆืืฆืืืืช, ืืฉืืื ืฉื ืืืคื voice()
ืืืืืคื ืืช ืืฉืืื "ืืืงืืจืืช" voice()
ืืืืืืงื Animal
(ืฉืคืฉืื ืืืฆืืื "Voice!" ืืงืื ืกืืื). ืืขืงืืคื ืืฉ ืืกืคืจ ืืืืืืช:
-
ืืฉืืื ืื ืืจืืกืช ืืืืืช ืืืืืช ืืขืืช ืืืชื ืืจืืืื ืืื ืืื ืฉืืืช ืืื.
ืื ืืชืืื
voice
ืืืืืงืช ืื ืืงืืืช ืืงืืString
, ืืฉืืื ืื ืขืงืคืช ืืืืืงืช ืืืื ืืืืืช ืืงืื ืื ืืงืืString
, ืืืจืช ืืืืืจ ืืืจืืง ืฉืืืื:public class Animal { public void voice(String s) { System.out.println("Voice! " + s); } } public class Cat extends Animal { @Override//error! public void voice() { System.out.println("Meow!"); } }
-
ืืืชืืื ืื ืืืงืช ืืืื ืืืืืช ืืืชื ืกืื ืืืืจื ืืื ืฉืืืช ืืื.
ืืืจืช, ื ืงืื ืฉืืืืช ืงืืืคืืืฆืื:
public class Animal { public void voice() { System.out.println("Voice!"); } } public class Cat extends Animal { @Override public String voice() { //error! System.out.println("Meow!"); return "Meow!"; } }
-
ืื ืฉืื ืื ืืืืฉื ืฉื ืฉืืื ืฉื ืืืงื ืื ืืืื ืืืืืช ืฉืื ื ืื"ืืงืืจื":
public class Animal { public void voice() { System.out.println("Voice!"); } } public class Cat extends Animal { @Override private void voice() { //error! System.out.println("Meow!"); } }
voice()
ืืืืื ืืืงืื ืฉืื ืฉืืืืช ืืื' voiceDog()
.voiceCat()
GO TO FULL VERSION