1、多态的定义:同一种行为,具有多种不同的表现形式
2、多态的前提
1)继承或实现(二选一)
2)方法重写
3)父类引用指向子类对象
3、多态的体现:
格式:
父类类型 对象名 = new 子类类型();
变量名.方法名;
普通类定义多态的格式:
class Fu{}
class Ziextends Fu{}
//类的多态使用
Fu f = new Zi();
抽象类定义多态的格式:
abstractclass Fu{
public abstract void method();
}
class ZiextendsFu{
public void method();{
System.out.println("重写抽象父类方法");
}
}
//类的多态使用
Fu f = new Zi();
4、我们来测试一下
1)创建一个父类Student
public class Student {
public void show(){
System.out.println("父类的输出");
}
}
2)创建一个子类PrimaryStudent
public class PrimaryStudent extends Student{
public void show(){
System.out.println("子类的输出");
}
}
3) 创建一个MyClass类
public class MyClass {
public static void main(String[] args) {
// TODO Auto-generated method stub
Student st = new PrimaryStudent();
//new PrimaryStudent()是实现了一个小学生身份的张三,Student是一个学生的身份
//将小学生的身份提升到了学生的身份,这就是多态的应用
st.show();
Student st1 = new Student();
st1.show();
}
}
4)输出结果
调用了相同的方法,返回结果不同,这就是多态