多态性:
在同一个引用类型中,使用不同的实例而执行不同的操作。
条件:
要有继承关系;
要有方法的重写;
要有父类引用指向子类对象(例子:Father father = new Son() )
多态中成员访问成员变量:
特点:编译的时候,看父类代码;运行的时候,看父类代码。
多态中成员访问成员方法:
特点:编译的时候,看父类代码;运行的时候,看子类代码。
例子:
-public class Polymorphism_Test {public static void main(String[] args) {
Pencil pencil = new Pencil();
System.out.println(pencil.name);
pencil.write();
Pen pen = new Pen();
System.out.println(pen.name);
pen.write();
Pen pe = new Pencil();
System.out.println(pe.name);
pe.write();
}
}
class Pen {
String name = “父类的中华”;
Pen() {
}
Pen(String name) {
this.name = name;
}
public void write() {
System.out.println("父类中的写字");
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
class Pencil extends Pen {
String name = “子类的马可”;
Pencil() {
}
public Pencil(String name) {
this.name = name;
}
@Override
public void write() {
System.out.println("子类中的写字");
}
}