定义两个接口Out,Product,在Out接口中定义getData和out方法参数,Product接口中定义getProduceTime方法参数,定义类Printer实现两个接口,测试数据的添加和输出。
publicclassTest6_3{publicstaticvoidmain(String[]args){Outputo=newPrinter();o.getData("JavaEE");o.getData("疯狂java讲义");//o.out();o.getData("疯狂Android讲义");o.getData("疯狂ajax讲义");o.out();o.print("孙悟空","猪八戒","白骨精");o.test();Productp=newPrinter();System.out.println(p.getProduceTime()+Output.staticTest());Objectj=p;}}interfaceOutput{intMAX_CACHE_LINE=3;voidout();voidgetData(Stringmsg);defaultvoidprint(String...msgs){for(Stringmsg:msgs){System.out.println(msg);}}defaultvoidtest(){System.out.println("默认的test()方法");}staticStringstaticTest(){return"接口里的类方法";}}interfaceProduct{intgetProduceTime();}classPrinterimplementsOutput,Product{privateString[]printData=newString[MAX_CACHE_LINE];privateintdataNum=0;@OverridepublicintgetProduceTime(){//TODOAuto-generatedmethodstubreturn45;}@Overridepublicvoidout(){while(dataNum>0){System.out.println("打印机打印:"+printData[0]);System.arraycopy(printData,1,printData,0,--dataNum);}}@OverridepublicvoidgetData(Stringmsg){if(dataNum>=MAX_CACHE_LINE){System.out.println("输出队列已满,添加失败");}else{printData[dataNum++]=msg;}}}
举一反三
- 定义两个接口,接口Interface1声明常量a和方法add(),接口Interface2声明常量b和方法minus(),再定义接口MyInterface继承上述两个接口,并声明常量c。创建类InterfaceDemo实现MyInterface接口。
- 类在接口时不需要实现接口中定义的所有方法。
- 实现接口的类必须实现接口中定义的所有方法。
- 所有Collection集合类都必须实现的方法在()接口中定义。 A: List接口 B: Collection接口 C: Set接口 D: Map接口
- 1. 下面关于接口的说法正确的是: A: 接口具有多重继承性,一个接口可以继承多个父接口 B: 接口中定义的数据,都是变量 C: 接口中定义的方法,可以在定义时提供实现 D: 接口用abstract 修饰
内容
- 0
关于接口的定义与实现,以下说法正确的是 如果一个接口有多个类来实现,则这些类在实现该接口中的方法时采用统一的代码 如果一个类实现接口,则必须实现该接口中的所有方法,但方法未必生命为public 接口定义中的变量都必须写明final和static 接口定义的方法,只有定义没有实现
- 1
接口中定义的静态方法和默认方法都不能被子接口或实现类继承。
- 2
关于接口定义和使用,描述不正确的是( )。 A: 接口没有变量的定义 B: 接口中的方法都不实现 C: 接口可以多继承 D: 接口中的方法访问修饰符不受限制
- 3
下面关于接口的描述,正确的是()。 A: 接口实际上是一种标准规范 B: 一个接口可以有多个父接口 C: 接口中的常量用于实现数据的共享 D: 接口中的方法只定义方法的原型,没有直接定义方法的内容
- 4
接口中只能定义常量和(),实现接口使用关键字()