多态
多态
-
同一方法可以根据发送对象的不同而采用多种不同的行为方式
-
一个对象的实际类型是确定的,但却可以指向对象的引用的类型有很多
-
多态存在的条件:
-
有继承关系
-
之类重写父类方法
-
父类引用指向子类对象 eg: Person person=new Student()
-
多态是方法的多态,属性没有多态性
-
注意事项,在哪些情况下不能重写
-
static方法,是属于类的,它不属于实例
-
被final修饰的常量
-
private方法
package com.oop; import com.oop.demo04.Student; import com.oop.demo04.Person; public class Application { public static void main(String[] args) { //一个对象的实际类型是确定的,比如都是Student // 但可以指向的引用类型就不确定了:父类的引用指向子类 //Person和Object都是Student的父类。只不过Object是祖宗类 Student s1 = new Student(); Person s2 = new Student(); Object s3=new Student(); //对象能执行哪些方法,主要看对象左边的类型,和右边关系不大 s2.run();//子类重写了父类的方法,执行子类的方法 s1.run(); } } package com.oop.demo04; public class Person { public void run(){ System.out.println("run"); } } package com.oop.demo04; public class Student extends Person { @Override public void run() { System.out.println("son"); } }


浙公网安备 33010602011771号