下面的程序不明白,PC类没有实现USB接口,它们都不认识啊,怎么在方法里还能帮接口实现多态性;
就是两者没有直接关系,怎么不出错啊??????????
interface USB
{
public void start() ;
public void stop() ;
}
class PC
{
public void plugin(USB u)
{
u.start() ;
u.stop() ;
}
};
class UDisk implements USB
{
public void start()
{
System.out.println("U盘开始工作了") ;
}
public void stop()
{
System.out.println("U盘停止工作了") ;
}
};public class OODemo05
{
public static void main(String args[])
{
new PC().plugin(new UDisk()) ;
}
};
就是两者没有直接关系,怎么不出错啊??????????
interface USB
{
public void start() ;
public void stop() ;
}
class PC
{
public void plugin(USB u)
{
u.start() ;
u.stop() ;
}
};
class UDisk implements USB
{
public void start()
{
System.out.println("U盘开始工作了") ;
}
public void stop()
{
System.out.println("U盘停止工作了") ;
}
};public class OODemo05
{
public static void main(String args[])
{
new PC().plugin(new UDisk()) ;
}
};
java中非基本类型的函数参数传的是引用
public void plugin(USB u)
{
u.start() ;
u.stop() ;
}
相当于你拿着AK47对着敌人射击,可你不是抢啊,好好想一想就明白了。
你是Human, AK47实现GUN接口,你拿着AK47对敌人疯狂扫射,就这么简单。
public void plugin(USB u) { //只要是USB的设备就可以插到PC上
u.start() ;
u.stop() ;
}
};