/*
在多态中成员函数的特点
在编译时期:参阅引用型变量所属的类是否有调用方法。如果有,编译通过,如果没有编译失败。
在运行时期:参阅对象所属的类中是否有调用的方法。
简单总结就是:成员函数在多态调用时,编译看左边,运行看右边。
在多态中,成员变量的特点:
无论编译和运行,都参考左边(引用型变量所属的类)。
在多态中,静态成员函数的特点:
无论编译和运行,都参考左边(静态绑定)
*/
class Duotai2
{
public static void main(String[] args)
{
Fu a=new Zi();//父类引用子类对象;
a.show1();//打印子类的
a.show2();//打印子类的
System.out.println(a.num);//打印的是父类中的num
a.show4();//静态函数打印的是父类的;
}
}
class Fu
{
int num=3;
public void show1()
{
System.out.println("show2");
}
public void show2()
{
System.out.println("show2");
}
public static void show4()
{
System.out.println("fu show4");
}
}
class Zi extends Fu
{
int num=5;
public void show1()
{
System.out.println("Zi show1");
}
public void show3()
{
System.out.println("show3");
}
public static void show4()
{
System.out.println("zi show4");
}
}