欢迎来到天天文库
浏览记录
ID:57057909
大小:507.50 KB
页数:18页
时间:2020-07-30
《java抽象类和接口讲义课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、抽象类和接口抽象类用关键字abstract修饰类称为abstract类,抽象类,如:abstractclassA{……}abstract类不能用new运算创建对象,必须产生其子类,由子类创建对象。抽象方法抽象类中可以包含普通变量和方法,同时也可以包含抽象方法;抽象方法:被abstract修饰的方法被称作的抽象方法,抽象方法没有方法体,即只有方法的声明没有方法的实现例如:publicabstractdoublearea();当一个类中含有抽象方法时,其所属的类必须声明为抽象类。abstractclassA{intnum=0;//抽象类中
2、可以有实例变量Strings=newString("abstract");//抽象类中可以有非抽象方法publicStringset(Stringss){s=ss;returns;}abstractintget();//注意:没有大括弧("{}")}classBextendsA{privateintpoint=0;//子类如果不是抽象类的话,必须覆盖父类中的抽象方法publicintget(){//子类在重写父类的时候可以扩大父类方法的权限num++;returnnum;}}抽象类抽象类的定义如下:抽象方法的定义:publicabst
3、ractclassShape{//定义体}//为使此类有用,它必须有子类publicabstract(参数列表);对抽象类和抽象方法的说明在一个抽象类中可以有实例变量和非抽象方法存在抽象方法的定义中,没有{}如果一个类中含有抽象方法,那么该类一定要被显示声明为抽象类抽象类是不可以实例化的,也即不能用抽象类来创建对象如:abstractclassPerson{Stringname;publicvoidgetName();}classTest{Personp=newPerson();//这句
4、话编译不通过,原因是因为抽象类不能实例化}生活中的接口电脑主板上的PCI插槽的规范就类似于Java接口声卡显卡网卡每种卡的内部结构都不相同,可以把声卡、网卡、显卡都插在PCI插槽上,而不用担心哪个插槽是专门插哪个卡的主板接口接口(interface)是抽象类功能的另一种实现方法,可将其想象为一个“纯”的抽象类接口中所有的方法都是抽象方法,都没有方法体Java通过允许一个类实现(implements)多个接口从而实现了比多重继承更加强大的能力,并具有更加清晰的结构接口的定义接口的定义形式为:interface接口名称[extends父接
5、口1,父接口2..]{……//方法原型或静态常量}//接口可以从多个父接口中继承接口本身也具有数据成员与方法,但数据成员一定要赋初值,且为常量,因此此值将不能再更改Interface在接口中定义的成员变量都缺省为终极类变量(即常量),即系统会将其自动增加public,final和static这三个关键字,并且对该变量必须设置初值在接口中定义的成员方法都缺省为公共的抽象方法,即系统会将其自动增加public,abstract这两个关键字如:interfaceCharStorage{inta=10;//虽然这没显示声明变量a是静态常量,但
6、系统在处理的时候就会把a当成静态常量来处理voidput(charc);//这其实是个公有的的抽象方法charget();}接口的实现类接口实现的方法:通过定义一个类同时采用implements来指明所实现的接口名,并在该类中覆盖接口中的所有成员方法且给出成员函数体定义。要点:类中所实现的接口中的成员函数的原型都应该与它在接口中的原型定义保持一致;并在类中重写接口中的所有成员方法;通过实现接口,从而可扩充或增加该类的功能。接口只定义方法名,而类实现接口内部的方法的代码接口的继承只是继承接口本身,而非代码,从而不会产生重复继承多次。程序
7、实例interfaceComputer{publicvoidComputeData();//计算机应该有数据计算的功能publicvoidSaveData();//计算机应该有存储数据的功能publicvoidPrintData();//计算机应该有打印数据的功能publicvoidDisplayData();//计算机应该有显示数据的功能}定义出接口,实现只给出功能的描述在设计PC机时来实现它自己的功能classPCComputerimplementsComputer{//实现它的计算、存储和打印数据、显示数据的功能publ
8、icvoidComputeData(){//具体实现代码}publicvoidSaveData(){//具体实现代码}publicvoidPrintData(){//具体实现代码}publicvoidDisplayDat
此文档下载收益归作者所有