当子类重载父类的方法或成员变量,如果仍然想使用父类中的方法或变量。可以使用特殊变量super。格式为super.方法,例如:class Animal
{
int height,weight;
Animal(int height,int weight)
{
//System.out.println("animal construct");
}
void eat()
{
System.out.println("animal eat");
}
void sleep()
{
System.out.println("animal sleep");
}
void breathe()
{
System.out.println("animal breathe");
}
}
class Fish extends Animal
{
int height;
Fish()
{
super(30,40);
//Animal(30,40);错误,构造方法不能被继承
// System.out.println("fish construct");
}
/*void breathe()
{
//super.breathe();
//super.height=40;
System.out.println("fish breathe");
}*/
}
class Integration
{
static void fn(Animal an)
{
an.breathe();
}
public static void main(String []args)
{
//Animal an=new Animal();
//Fish fh=new Fish();
//Animal an;
//an=fh;
//Integration.fn(an);
//an.breathe();
//fh.height=30;
//fh.breathe();
Animal an=new Animal(30,40);
Fish fh=new Fish();
an=fh;
/*if(an instanceof Animal)
{
System.out.println("an 是Animal的一个实例.");
}
if(fh instanceof Fish)
{
System.out.println("fh 是Fish的一个实例.");
}
*/
if(fh instanceof Animal)
{
System.out.println("fh是Animal的一个实例.");
}
else
System.out.println("fh不是Animal的一个实例.");
if(an instanceof Fish)
{
System.out.println("an是Fish的一个实例.");
}
else
System.out.println("an不是Fish的一个实例.");
}
}