多态:父类的变量可以引用子类的对象
引用:
Student s1 = stu; s1.setScore(200);
1.一个对象可以有多个引用,可以有多个变量操作同一个对象
2.当一个对象没有任何变量引用时,就会被销毁。
使用多态:当一个方法的参数是某个类时,那么不仅可以把这个类创建的对象传入方法 ,也可以把这个类子类创建的对象传入方法。
在这个方法中,如果想限制类型或者只想处理Person类有关的方法和属性时。
//在这个方法中只关心父类的相关类容,因为Person的子类一定会有Person的属性和方法
public static void test(Person p){
System.out.println(p);
}
Person p = new Student(); test(p);
test(stu);
注意:使用多态后只可以使用父类的方法,如果非要使用子类的方法,必须要进行强制类型转换。
Person p = new Student(); ((Student) p).exam();