先看Java代码:
public class Example {
public static void main(String[] args) {
System.out.println("====人====");
Person person = new Person("叽里呱啦","默认皮肤");
person.say();
person.showSkin();
person.walk();
person.eat();
person.sleep();
//多态
System.out.println("====中国人====");
Person chinese = new Chinese("中文","黄皮肤");
chinese.say();
chinese.showSkin();
chinese.walk();
chinese.eat();
chinese.sleep();
System.out.println("====美国人====");
Person american = new American("英文","白皮肤");
american.say();
american.showSkin();
american.walk();
american.eat();
american.sleep();
}
}
class Person {
String language;
String skinColor;
public Person() {}
public Person(String language, String skinColor) {
this.language = language;
this.skinColor = skinColor;
}
public void say(){
System.out.println("说"+this.language);
}
public void showSkin(){
System.out.println(this.skinColor);
}
public void walk(){
System.out.println("人走路");
}
public void eat(){
System.out.println("人吃饭");
}
public void sleep(){
System.out.println("人睡觉");
}
}
class Chinese extends Person {
public Chinese(){}
public Chinese(String language, String skinColor) {
super(language,skinColor);
}
}
class American extends Person {
public American(){}
public American(String language, String skinColor) {
super(language,skinColor);
}
}
运行结果:
总结:多态的意义就是,当new出来的对象中自己“独特的”方法时,默认采用申明类型中“普遍的”方法,“多态”这一词的含义就来源于这种用于对创造的对象的广泛性的意义。