java语言程序设计基础教程(继承、接口和内部类)ppt

java语言程序设计基础教程(继承、接口和内部类)ppt

ID:36201971

大小:92.50 KB

页数:48页

时间:2019-05-07

java语言程序设计基础教程(继承、接口和内部类)ppt_第1页
java语言程序设计基础教程(继承、接口和内部类)ppt_第2页
java语言程序设计基础教程(继承、接口和内部类)ppt_第3页
java语言程序设计基础教程(继承、接口和内部类)ppt_第4页
java语言程序设计基础教程(继承、接口和内部类)ppt_第5页
资源描述:

《java语言程序设计基础教程(继承、接口和内部类)ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第4章 继承、接口和内部类继承、超类和子类抽象类和接口内部类Class类4.1继承、超类和子类继承是面向对象编程技术的一块基石,是一种由已有的类创建新类的机制。运用继承,可以先创建一个通用类,它定义了一系列相关属性的一般特性。该类可以被更具体的类继承,每个具体的类都增加一些自己特有的东西。在Java术语学中,被继承的类叫超类(superclass),继承超类的类叫子类(subclass)。子类不能继承父类中访问权限为private的成员变量和方法。子类可以重写父类的方法,及命名与父类同名的成员变量。Java不支持多重继承,即一个类从多个超类派生

2、的能力。通过继承实现代码复用。Java中所有的类都是通过直接或间接地继承java.lang.Object类得到的。4.1.1子类继承一个类,只要用extends关键字把一个类的定义合并到另一个中就可以了。创建子类的一般格式为:classSubClassextendsSuperClass{…}例如:classStudentsextendsPeople{…}4.1.2子类的继承子类通过隐藏父类的成员变量和重写父类的方法,可以把父类的状态和行为改变为自身的状态和行为。例如:classSuperClass{intx;…voidsetX(){x=0;}…

3、}classSubClassextendsSuperClass{intx;//隐藏了父类的变量x…voidsetX(){//重写了父类的方法setX()x=5;}…}注意:子类中重写的方法和父类中被重写的方法要具有相同的名字,相同的参数表和相同的返回类型,只是函数体不同。【例4-1】一个关于继承的简单例子。//Createasuperclass.classSA{inti,j;voidshowij(){System.out.println("iandj:"+i+""+j);}}//CreateasubclassbyextendingclassA.

4、classSBextendsA{intk;voidshowk(){System.out.println("k:"+k);}voidsum(){System.out.println("i+j+k:"+(i+j+k));}}classSimpleInheritance{publicstaticvoidmain(Stringargs[]){SAsuperOb=newSA();SBsubOb=newSB();//Thesuperclassmaybeusedbyitself.superOb.i=10;superOb.j=20;System.out.pri

5、ntln("ContentsofsuperOb:");superOb.showij();System.out.println();//ThesubclasshasAccesstoallpublicmembersofitssuperclass.subOb.i=7;subOb.j=8;subOb.k=9;System.out.println("ContentsofsubOb:");subOb.showij();subOb.showk();System.out.println();System.out.println("Sumofi,jandkins

6、ubOb:");subOb.sum();}}4.1.3super关键字与类中this关键字相似,Java语言中使用关键字super表示父类对象。通过在子类中使用super做前缀可以引用被子类隐藏的父类变量或被子类重写的父类方法。super用来引用当前对象的父类,虽然构造方法不能够继承,但利用super关键字,子类构造方法中也可以调用父类的构造方法。Super的使用有2种情况:1.操作被隐藏的变量和方法访问父类被隐藏的成员变量,一般格式为:super.variable;调用父类中被重写的方法,一般格式为:super.Method([paramli

7、st]);假如成员变量x和方法y()分别是被子类隐藏的父类的变量和方法,则:super.x//表示父类的成员变量xsuper.y()//表示父类的成员方法y()【例4-2】利用supers操作父类被隐藏和重写的变量和方法。classep4_2_a{intn;floatf(){floatsum=0;for(inti=1;i<=n;i++){sum=sum+i;}returnsum;}}classep4_2_bextendsep4_2_a{intn;floatf(){floatc;super.n=n;c=super.f();returnc/n;}f

8、loatg(){floatc;c=super.f();returnc/2;}}classep4_2{publicstaticvoidmain(Stri

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。