java第5章继承与多态

java第5章继承与多态

ID:45238599

大小:1.22 MB

页数:54页

时间:2019-11-11

java第5章继承与多态_第1页
java第5章继承与多态_第2页
java第5章继承与多态_第3页
java第5章继承与多态_第4页
java第5章继承与多态_第5页
资源描述:

《java第5章继承与多态》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第五章第五章继承与多态本节要点和目标本节要点和目标...一、继承二、多态三、包四、接口一、继承一继承(一)继承的含义(一)继承的含义继承实际上是存在于面向对象程序中的两个类之间的一种关系。当一个类获取另一个类中所有非私有的数据和操作的定义作为自己的部分或全部成分时,就称这两个类之间具有继承关系。被继承的类称为父类或超类,继承了父类或超类的所有数据和操作的类称为子类。(二)类的继承(二)类的继承extends用来说明类的父类,也即当前类(子类)继承父类的属性和方法。java语言中,如果在类说明中无e

2、xtends,则隐含地假设其父类为java.lang.object类。extends<父类名>//appl5_1派生子类classCCircle//定义类CCircle{privatedoublepi=3.14;privatedoubleradius;publicCCircle()//CCircle()构造方法{System.out.println("CCircle()constructorcalled");}publicvoidsetRadius(doubler){radius=r;System

3、.out.println("radius="+radius);}publicvoidshow(){System.out.println("area="+pi*radius*radius);}}classCCoinextendsCCircle//定义CCoin类,继承自CCircle类{privateintvalue;publicCCoin()//CCoin()构造方法{System.out.println("CCoin()constructorcalled");}publicvoidsetValu

4、e(intt){value=t;System.out.println("value="+value);}}publicclassappl5_1{publicstaticvoidmain(Stringargs[]){CCoincoin=newCCoin();//建立CCoin对象coin.setRadius(2.0);//调用父类的setRadius()methodcoin.show();//调用父类的show()methodcoin.setValue(5);//调用子类的setValue()met

5、hod}}CCircle类(父类)setRadius()show()piradius继承域成员继承方法成员piradiusvalueCCoin类(子类)setRadius()show()setValue()(三)构造方法的继承(三)构造方法的继承子类可以继承父类的构造方法,构造方法的继承遵循以下的原则:(1)子类无条件继承父类的不含参数的构造方法。(2)如果子类自己没有构造方法,则它将继承父类的无参数构造方法作为自己的构造方法;如果子类自己定义了构造方法,则在创建新对象时,它将先执行继承自父类的无

6、参数构造方法,然后再执行自己的构造方法。(3)父类的含参数构造方法,子类可以通过在自己构造方法中使用super关键字来调用,但这个调用语句必须是子类构造方法的第一个可执行语句。//appl5_2构造方法的继承classsuperclass//父类{intx=8;/*superclass(inty)//父类构造方法{System.out.println(y);}*/}publicclassappl5_2extendssuperclass//子类{appl5_2()//子类构造方法{//super(5

7、);System.out.println(super.x);}publicstaticvoidmain(Stringargs[]){appl5_2a=newappl5_2();//建立appl5_2对象}}(四)this和super(四)this和superthis和super是常用来指代父类对象和子类对象的关键字。this表示的是当前对象本身,this代表了当前对象的一个引用,它仅仅是对象的另一个名字。利用this可以调用当前对象的方法或使用当前对象的域。super表示的是当前对象的直接父类对象

8、,是当前对象的直接父类对象的引用。//appl5_3this和super的使用(1)classsuperclass//父类{intx=8;}publicclassappl5_3extendssuperclass//子类{inty=9;appl5_3()//子类构造方法{System.out.println(this.y);System.out.println(super.x);}publicstaticvoidmain(Stringargs[]){appl5_3a=newappl5

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

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

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