日期:2014-05-19  浏览次数:20627 次

根据这个例子说一下什么是抽象方法?
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();

}

}


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

PCI是一个接口,run()就是一个抽象方法。你可以看到它只有一个名字,但没有具体实现 就是这样
------解决方案--------------------
void setName(String s);
没有具体实现,也是抽象方法。
------解决方案--------------------
接口里面全是抽象方法,都是等待别人实现的。