欢迎来到天天文库
浏览记录
ID:39749896
大小:1.99 MB
页数:42页
时间:2019-07-10
《面向对象的Java实现-接口》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、面向对象的Java实现-接口第八章2回顾举例说明在什么样的情况下,需要使用到继承?在Java程序中,多态性带给我们的好处是什么?3预习检查什么是常量?Java中,常量的定义规则有哪些?什么是面向接口编程,它的好处是什么?4本章任务升级HelloACCP,打印ACCP中心与教员的详细信息:正确使用面向接口编程的思想提高系统的可扩展性及可维护性5掌握Java接口理解Java接口与多态的关系掌握面向接口编程的思想掌握常量接口的使用本章目标抽象类可以使用abstract来修饰一个类和方法用abstract修饰的类表示这个类是一
2、个抽象类,用abstract修饰的方法表示这个方法是一个抽象方法。抽象类不能被实例化抽象方法是只有方法声明,而没有实现的方法。构造方法、静态方法、私有方法、final方法不能被声明为抽象的方法。6抽象类的例子publicabstractclassShape{/**画出自己*/publicabstractvoiddraw();/**得到面积*/publicdoublegetArea(){return100.0;}}7抽象类(abstractclass)抽象类里面并非一定需要抽象方法,但是没有抽象方法,抽象类就没有存在的必
3、要在以下任一条件成立时,类必须定义成抽象类:–类中有至少一个抽象方法–类继承了父类中的抽象方法,但是至少有一个抽象方法没有实现–类实现了某个接口,但没有全部实现接口中的方法8创建抽象类的对象抽象类不可实例化如果从一个抽象类继承,并想创建该新类的对象,那么我们就必须为基类中的所有抽象方法提供方法定义。如果不这样做(可以选择不做),那么抽象类的子类便也是抽象类,且编译器将会强制我们用abstract关键字来限制修饰这个类。创建抽象类的对象–扩展抽象类,实现其所有抽象方法–创建该抽象类子类的对象9抽象类的使用例子public
4、classCircleextendsShape{publicvoiddraw(){System.out.println("drawacircle....");}}TestShape.javapublicstaticvoidmain(String[]args){//Shapeshape=newShape();//errorShapeshape=newCircle();shape.draw();System.out.println(shape.getArea());}10接口(interface)接口(interface)
5、比抽象(abstract)的概念向前更迈进了一步。你可以将它看作是“纯粹的”抽象类。它允许类的创建者为一个类建立其形式:有方法名、参数列表和返回类型,但是没有任何方法体。接口也可以包含有数据成员。接口只提供了形式,而未提供任何具体实现。接口是方法和常量值的定义的集合。11接口的定义[修饰符]interface接口名[extends父接口名表]{[修饰符]域类型域名=常量值;//常量域声明[修饰符]返回值方法名(参数表);//抽象方法声明}因为所有定义在接口中的常量都默认为public、static和final。所有定义
6、在接口中的方法默认为public和abstract,所以可以不用修饰符限定它们。和类不同的是,一个接口可以继承多个父接口.12接口例子publicinterfaceIShape{//面积doublearea=100.0;//画出自己voiddraw();//得到面积doublegetArea();}13实现接口多个无关的类可实现同一个接口。一个类可实现多个无关的接口语法如下:class[extends][implements[,7、ace>]*]{*}在Java中,可以通过接口来模拟多继承14接口应用例子publicclassCircleimplementsIShape{publicvoiddraw(){System.out.println("drawacircle....");}publicdoublegetArea(){//area=200.0;errorreturnarea;}}Main:IShapeshape=newCircle();shape.draw();System.out.println(shape.g8、etArea());15实现接口注意事项在类的声明部分,用implements关键字声明将要实现那些接口;如果实现某接口的类不是abstract类,则在类的定义部分必须实现指定接口的所有抽象方法,而且方法头部分应该与接口中的定义完全一致;如果实现某接口的类是abstract类,则它可以不实现该接口所有的方法。但其非abstract
7、ace>]*]{*}在Java中,可以通过接口来模拟多继承14接口应用例子publicclassCircleimplementsIShape{publicvoiddraw(){System.out.println("drawacircle....");}publicdoublegetArea(){//area=200.0;errorreturnarea;}}Main:IShapeshape=newCircle();shape.draw();System.out.println(shape.g
8、etArea());15实现接口注意事项在类的声明部分,用implements关键字声明将要实现那些接口;如果实现某接口的类不是abstract类,则在类的定义部分必须实现指定接口的所有抽象方法,而且方法头部分应该与接口中的定义完全一致;如果实现某接口的类是abstract类,则它可以不实现该接口所有的方法。但其非abstract
此文档下载收益归作者所有