java 多态基础
多态使同一方法可以根据发送对象的不同采用不同的行为方式
一个对象的类型确定,但可以指向对象的类型有很多
一个对象的实际类型是确定的
new Student();
new Person();
可以指向的引用类是不确定的 父类的引用可以指向子类
Student s1 = new Student();
Person s2 = new Student();
Object s3 = new Student();
demo
public class Person{
public void run(){
System.out.println( "Person run");
}
}
public class Student extends Person{
public void run(){
System.out.println(" Student run");
}
public void study(){
System.out.println("study");
}
}
public class Main{
public static void main(String args[]){
Student s1 = new Student();
Person s2 = new Student();
s1.run(); // cout Student run 子类重写了父类的方法,执行子类的。
s2.run(); // cout Student run
s1.study(); // wrong
s2.study(); // cout study;
}
}
注意
-
方法有多态,属性没有
-
父类与子类之间存在
-
条件: 继承关系, 方法要重写,父类引用子类的对象。
不能重写的
-
static
-
final
-
private
instanceof
X instanceof Y 当X 与 Y 有父子关系时对
-

浙公网安备 33010602011771号