class Instrruement{
public void play(){
System.out.println(”Instrruement play“);
}
static void tune(Instrruement i){
i.play();
}
}
Class Grasp{
public void play(){
System.out.println(”Grasp play“);
public void main(String[] args)
Instrruement flu=new Grasp();
Instrruement.tune(flu);
}
这个程序的输出结果是什么?为什么?
指教一下这类问题的方法
请高人指教,尽快!!!
结果应该是 Grasp play ,因为tune这个方法只是调用传入对象的play()方法,这里传入的是Grasp类型的对象,它的play方法则是显示“Grasp play";
另外,Grasp应该是继承自Instrruement的,虽然play方法传入的类型应该是Instrruement对象,但是Grasp是Instrruement的子类,play方法已经被重写。
如果你的Grasp继承Instrruement,Instrruement play这个是结果,因为你调用了tune这个静态方法(这个方法应该是public的)。在这个方法里面它调用了自己类里面的play方法