Java多态
多态
-
多态是继封装、继承之后,面向对象的第三大特性。
-
多态体现为父类引用变量可以指向子类对象
-
多态的定义与使用格式
定义格式:[父类类型 变量名=new 子类类型();]() -
理解:
多态是同一个行为具有多个不同表现形式或形态的能力。 多态就是同一个接口,使用不同的实例而执行不同操作。 -
多态存在的条件
- 有继承关系
- 子类重写父类的方法
- 父类引用指向子类对象
public class Person {
public void test(){
System.out.println("父类方法");
}
}
public class Student extends Person{
@Override
public void test() { //方法重写
//super.test();
System.out.println("子类方法");
}
}
public class Application {
//静态方法和非静态方法是有区别的
public static void main(String[] args) {
//父类的引用指向子类,只能执行自己的方法,不能调用子类的其他方法
//方法的调用只和左边相关,定义的数据类型无关
//子类重写的父类的方法
Person person = new Student();
//Object obj = new Student();
person.test();
//强制转化
((Student) person).add();
}
}
//子类方法
add
类型转化异常:ClassCastException

浙公网安备 33010602011771号