资源描述:
《王树义JAVA上机实验4_接口》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实验四.接口背景知识1・定义语法•[接口修饰符]interface接口名[extends接口1,…,接口n]接口体2・接口体.由抽象方法构成,所有方法都隐含地定义为public,abstracto3.接口实现•接口是在定义类时实现的。具体语法如下:[类修饰符]class类名[extends基类名][implements接口1,・・・,接口n]类体4.接口类型:实现了接口K的类C,它的对象既是C类型的,也是K类型的。实验目的1.掌握接口概念,定义语法,实现及使用。2.了解MyCollection,Mylist»Iterator接口,以及ArrayList类的使用。为学
2、习Collection,List,Set,Map接口及实现做好准备。实验内容和步骤第一题.1.定义一个接口K,它只含有一个方法f。2.定义一个接口K1,继承自K,它的接口体只有一个方法g。K1有几个方法?3.定义一个类C,实现接口K。4.写main方法如下publicstaticvoidmain(String[]args){Kkl=newK();Kk2=newC(12);CC=k2;k2.f();c.f();}问:上面的main方法编译时出现什么错误,如何修改?第二题.1.定义一个接口K,它只含有一个方法f。2.定义三个类A1,A2,A3,它们都实现1中定义的接口K
3、.3・写main方法,它定义接口K类型的一个引用k。对每个类A1,A2,A3,都依次创建一个对象,让k引用这个对象,然后调用方法f。4.本题主要说明:实现了接口K的类C,它的对象既是C类型的,也是K类型的。第三题.1・定义一个接口Cook,它只含有一个方法voidCookingO,功能是打印食品的烹调方法。2.定义抽象类food,它实现接口Cooke3・定义chicken,duck,fish,meat四个类,它们继承food,实现Cooking方法,并且都是具体类。方法Cooking的实现是打印你所知道的该种食品的烹调方法。4.写main函数,测试。第四题.(参见附
4、录)1・实现附录中的Objectremove(intindex)方法。2.定义一个student类,含有学号和姓名两个域,和打印这两个域的方法。3・定义一个teacher类,含有姓名和系(department)两个域,和打印这两个域的方法。4.写main函数,它创建一个ArrayList对象a,和一些学生对象和教师对象,把这些对象统统装入a中,然后遍历a,输出学生和教师。注意运算符instanceof的使用。第五题.(参见附录)1・使用类ArrayList,定义一个队列类queueo2.写main函数,测试。第六题.(参见附录)1・使用类ArrayList,定义一个
5、堆栈类stacko2・写main函数,测试。附录.以下是与ArrayList有关的接口和ArrayList类的实现。第四,五,六题需要有这些类和接口的定义。//MyCollection接口interfaceMyCollection{〃方法add执行结束后,保证该集群中含有obj。真加入,返回trueobooleanadd(Objectobj);booleanremove(Objectobj);//A当前集群中删除元素obj。真删除,返回true。Iteratoriterator();//返回一个此集群所有元素上的一个迭代器。}//MyList接口interfaceM
6、yListextendsMyCollection{voidadd(intindex,Objectelement);〃新方法•把指定的元素插入到indexObjectremove(intindex);//新方法•删除当前list第index个元素。}//Iterator接口interfaceIterator{booleanhasNext();//返回true如果还有下一个元素。Objectnext();//M回迭代过程中的下一个元素,voidremove();//从当前集群中删除最后一次调用next方法〃时返回的元素,每调用一次next方法,至〃多调用一次remove
7、方法。}//ArrayList类是MyList接口的数组实现。classArrayListimplementsMyList{privateObject[]list;privateintcount;ArrayList(){count=0;list=newObject[4];}ArrayList(intl){eount=0;list=newObject[l];}〃当list填满时,容量自动扩大一倍。privatevoidenlarge()Object[]l=newObject[2*listlength];for(inti=0;i