class comm
{
public static void main(String[] para)
{
dmeng d=new dmeng();
  mainboard m=new mainboard();
  m.setcpu("intel's CPU");
  m.setvideocard(d);
}
}interface videocard
{
void display();
String getname();
}
class dmeng implements videocard
{
String name;
public dmeng()
{
name="dmeng's videocard";
}
public void setname(String name)
{
this.name=name;
}
public void display()
{
System.out.println("dmeng's videocard is working");
}
public String getname()
{
return name;
}
}class mainboard
{

String strcpu;
videocard vc;

  void setcpu(String strcpu)
{
this.strcpu=strcpu;
}
void setvideocard(videocard vc)
{
this.vc=vc;
}
void run()
{

System.out.println(vc.getname());
vc.display();
System.out.println("mainboard is running");
}

}请问各位朋友,我上面的程序为什么没有输出?编译运行都过去了,就是没有输出?

解决方案 »

  1.   

    楼主是要做什么呢?跑线程吗?
    class comm {
    public static void main(String[] para) {
    dmeng d = new dmeng();
    mainboard m = new mainboard();
    m.setcpu("intel's CPU");
    m.setvideocard(d);
    Thread t = new Thread(m);
    t.start();
    }
    }interface videocard {
    void display(); String getname();
    }class dmeng implements videocard {
    String name; public dmeng() {
    name = "dmeng's videocard";
    } public void setname(String name) {
    this.name = name;
    } public void display() {
    System.out.println("dmeng's videocard is working");
    } public String getname() {
    return name;
    }
    }class mainboard implements Runnable{ String strcpu;
    videocard vc; void setcpu(String strcpu) {
    this.strcpu = strcpu;
    } void setvideocard(videocard vc) {
    this.vc = vc;
    } public void run() { System.out.println(vc.getname());
    vc.display();
    System.out.println("mainboard is running");
    }
    }
      

  2.   

    一个小练习,用来练习接口的使用,假设我们装一台机器(computer),我图省事,写了comm.我用了一个简单的例子,效果也是一样,没有输出.
      

  3.   

    线程没启动撒,怎么会有效果。
    Thread t = new Thread(m);
            t.start();
      

  4.   

    我看到run(),还以为你跑线程呢,原来是练习接口的使用?
    dmeng d=new dmeng();
      mainboard m=new mainboard();
      m.setcpu("intel's CPU");
      m.setvideocard(d); 
    后面加上 m.run();就行了,你原来的代码只是set值,没有执行display()啊。
      

  5.   

    这个程序没有问题,我按照你写的运行了一下。
    运行结果是:
    dmeng's videocard
    dmeng's videocard is working
    mainboard is running
    你一定是什么地方配错了。