7-2 USB接口的定义 (10 分)
定义一个USB接口,并通过Mouse和U盘类实现它,具体要求是:
1.接口名字为USB,里面包括两个抽象方法:
void work();描述可以工作
void stop(); 描述停止工作
2.完成类Mouse,实现接口USB,实现两个方法:
work方法输出“我点点点”;
stop方法输出 “我不能点了”;
3.完成类UPan,实现接口USB,实现两个方法:
work方法输出“我存存存”;
stop方法输出 “我走了”;
4测试类Main中,main方法中
定义接口变量usb1 ,存放鼠标对象,然后调用work和stop方法
定义接口数组usbs,包含两个元素,第0个元素存放一个Upan对象,第1个元素存放Mouse对象,循环数组,对每一个元素都调用work和stop方法。
输入格式:
输出格式:
输出方法调用的结果
输入样例:
在这里给出一组输入。例如:
输出样例:
在这里给出相应的输出。例如:
我点点点
我不能点了
我存存存
我走了
我点点点
我不能点了
package item5;
interface USB{//两个抽象方法void work();void stop();
void work();
void stop();
}
class Mouse implements USB{//实现接口中的两个方法
public void work() {
System.out.println("我点点点");
}
public void stop() {
System.out.println("我不能点了");
}
}
class UPan implements USB{//实现接口中的两个方法
public void work() {
System.out.println("我存存存");
}
public void stop() {
System.out.println("我走了");
}
}
public class Main2 {
public static void main(String[] args) {
USB usb1; //定义接口变量
usb1=new Mouse();//接口变量中存放鼠标对象//也可写为USB usb1=new Mouse();
usb1.work(); //变量调用两个方法
usb1.stop();
USB[] usbs; //定义接口数组
usbs=new USB[2];
//USB[] usbs=new USB[2];第二种表示
usbs[0]=new UPan(); //第一个元素存UPan
usbs[1]=new Mouse(); //第二个元素存Mouse
for(USB i:usbs)
//for(int i=0;i<usbs[2].length;i++);为什么这种出现错误
{//循环数组,对每个对象都调用work和stop方法
i.work();
i.stop();
}
}
}
本题主要要用接口、接口的实现、接口变量、接口数组等一系列接口的应用
NEW THING
1.接口变量
2.接口数组
1.声明数据
语法:
数据类型 [ ] 数组名;
或 数据类型 数组名[ ] ;
例 : int[] scores;
2.分配空间:指定数组中最多可存储多少个元素
语法:
数组名=new 数据类型[数组的长度]scores=new int[5];
3.赋值
分配空间后就可以向数组放数据了,数组中的元素都是通过下标来访问的。
例:scores数组中存放学生数据
scores[0]=89;
scores[1]=79;
4.处理数组中的数据
对赋值后的数据进行操作和处理,如获取并输出数组中的元素的值
System.out.print(scores[0]);
举例:
USB[] usbs; //定义接口数组 //或写为USB usbs[];
usbs=new USB[2];
//USB[] usbs=new USB[2];第二种表示
usbs[0]=new UPan(); //第一个元素存UPan
usbs[1]=new Mouse(); //第二个元素存Mouse
3.遍历数组的值
Java遍历数组有三种方法
1.(传统方法)
int a[]={1,2,3,4,5};
for(int i=0;i<a.length;i++){
System.out.println(a[i]);
}
2.( 非传统方法)
int a[]={1,2,3,4,5};
for(int i:a){
System.out.println(i);
}
注:其中i的数据类型要和数组a的数据类型保持一致
3.(利用Arrays类中的toString() 方法)
int a[]={1,2,3,4,5};
System.out.println(Arrays.toString(a));