孙鑫老师的视频教程
定义的显卡接口
interface VideoCard
{
void Display();
String getName();
}
Dmeng显卡
class Dmeng implements VideoCard
{
String name;
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(strCPU);
System.out.println(vc.getName());
vc.Display();
System.out.println("Mainboard is running");
}
}
computer类
class Computer
{
public static void main(String[] args)
{
Dmeng d=new Dmeng();
Mainboard m=new Mainboard();
m.setCPU("Intel CPU");
m.setVideoCard(d);
m.run();
}
}
定义的显卡接口
interface VideoCard
{
void Display();
String getName();
}
Dmeng显卡
class Dmeng implements VideoCard
{
String name;
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(strCPU);
System.out.println(vc.getName());
vc.Display();
System.out.println("Mainboard is running");
}
}
computer类
class Computer
{
public static void main(String[] args)
{
Dmeng d=new Dmeng();
Mainboard m=new Mainboard();
m.setCPU("Intel CPU");
m.setVideoCard(d);
m.run();
}
}
是没有import么?
interface VideoCard
{
void Display();
String getName();
}
Dmeng显卡
class Dmeng implements VideoCard
{
String name;
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(strCPU);
System.out.println(vc.getName());
vc.Display();
System.out.println("Mainboard is running");
}
}
computer类
class Computer
{
public static void main(String[] args)
{
Dmeng d=new Dmeng();
Mainboard m=new Mainboard();
m.setCPU("Intel CPU");
m.setVideoCard(d);
m.run();
}
}可以的,只要实现了该接口的类,它的对象就可以赋给此接口的变量。错误提示是什么,贴出来看看
{
void Display();
String getName();
}
class Dmeng implements VideoCard
{
String name;
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(strCPU);
System.out.println(vc.getName());
vc.Display();
System.out.println("Mainboard is running");
}
}
class Computer
{
public static void main(String[] args)
{
Dmeng d=new Dmeng();
Mainboard m=new Mainboard();
m.setCPU("Intel CPU");
m.setVideoCard(d);
m.run();
}
}result:Intel CPU
Dmeng`s videocard
Dmeng`s videocard is working
Mainboard is running