chinese a=new chinese();
a.say();
Amerca b=new Amerca();
b.say();
==========
Person c=new chinese();
c.say();
Person d=new Amerca();
d.say();
以上两者其实是一样的实现效果。不过一个是继承类子类类型,一个是多态父类类型。
用多态的时候有一个前提就是必须是继承类。这样用父类类型才能调用子类中重写的方法。
=========
public class Person {
public void say(){
// System.out.println("人类有说话的能力"); 父类中这一句有没有都可以正常实现。甚至可以直接转化抽象类public abstract say();
};
}
假如你重新创建一个renlei的抽象类
public abstract class renlei {
public abstract void say();
public void say1(){};
}
效果一样,可以用继承,多态两种方法调用。
japanese e=new japanese();
e.say();
renlei f=new japanese();
f.say();
总结成一句话就是
子类有相同的功能抽取出来放在一个类里当父类,然后被继承。如果父类的方法没有实现可以把父类写成抽象类,就进一步简化不用谢方法体,只写方法名。