package package136;
interface PCI
{
void setName(String s);
void run();
}
class VideoCard implements PCI
{
String name="微星";
public void setName(String s)
{
name=s;
}
public void run()
{
System.out.println(name+"显卡已开始工作!");
}

}
class SoundCard implements PCI
{
String name="AC";
public void setName(String s)
{
name=s;
}
public void run()
{
System.out.println(name+"声卡已开始工作!");
}

}
class Mainboard
{
public void interfacePCI(PCI p)
{
p.run();
}
public void run()
{
System.out.println("主板已经开始工作!");
}
}
public class JieKou 
{
public static void main(String[] args)
{
Mainboard mb=new Mainboard();
VideoCard vc=new VideoCard();
vc.setName("huawei");
SoundCard sc=new SoundCard();
mb.interfacePCI(vc);
mb.interfacePCI(sc);
mb.run();

}}

解决方案 »

  1.   

    抽象方法就是只有方法名,没有方法体的方法。一般定义在接口中,当有一个类implement这个接口时,可以将接口中的抽象方法实例化即给其添加方法体。 你这个例子中
    interface PCI
    {
     void setName(String s);
     void run();
    }PCI是一个接口,run()就是一个抽象方法。你可以看到它只有一个名字,但没有具体实现  就是这样
      

  2.   

    void setName(String s);是不是抽象方法?
      

  3.   

    void setName(String s);
    没有具体实现,也是抽象方法。
      

  4.   

    只要是abstract修饰的方法就是抽象方法