1.多态表现:
Animal a = new Cat ();
2.例子程序:
class Animal
{
String name = "animal";
static String id = "a_001";
public void show()
{
System.out.println("this is Animal.");
}
public static void run()
{
System.out.println("Animal running...");
}
}
class Cat extends Animal
{
String name = "cat";
static String id = "c_001";
public void show()
{
System.out.println("this is Cat.");
}
public static void run()
{
System.out.println("Cat running...");
}
}
public class ExtendsDemo
{
public static void main(String args[])
{
Animal a = new Cat(); //向上转型
System.out.println(a.name);
System.out.println(a.id); //多态体现于非静态成员函数;
a.show();
a.run();
Cat c =(Cat)a; //向下转型
System.out.println(c.name);
System.out.println(c.id);
c.show();
c.run();
}
}
运行结果:
animal
a_001
this is Cat.
Animal running...
cat
c_001
this is Cat.
Cat running...
总结:
非静态成员函数--编译看左边,运行看右边;
非静态成员变量,静态成员变量,静态成员函数--编译和运行,都看左边。