多态的体现:方法的重写和重载
对象的多态性 可以直接应用在抽象类和接口上
java的引用变量类型 分为 ‘’编译时类型‘’ 和 ‘’运行时类型‘’
若这两个类型不一样时就形成了多态
public class person {
private String sex;
public person(){
}
public void eat(){
System.out.println("吃饭");
}
}
这是一个人 类 他下面有吃饭的方法
public class man extends person{
private String name;
public man(){//无参的构造方法可以省略不写,写了就必须写super();super调用的是父类的构造方法
super();
}
public void eat(){
System.out.println("男的吃饭");
}
}
这是一个男人继承了人 类 并重写了 eat方法
public class woman extends person{
private String name;
public void eat(){
System.out.println("女吃饭");
}
}
这是一个女 类 同样继承了 人 类并且重写了eat方法
public static void main(String[] args) {
person p = new man();
person p1 = new woman();
abc(p);
abc(p1);
}
public static void abc(person p){
p.eat();
}
p这个引用指向的是man
p1指向的是woman
打印的结果就是
男吃饭
女吃饭