- 1、本文档共44页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
9-1 继承的基本概念 例子: 01 // app9_1, 简单的范例 02 class CCircle // 定义类CCircle 03 { 04 private double pi=3.14; 05 private double radius; 06 07 public CCircle(){ // CCircle()构造函数 08 System.out.println(CCircle() constructor called); 09 } 10 public void setRadius(double r){ 11 radius=r; 12 System.out.println(radius=+radius); 13 } 14 public vo01id show(){ 15 System.out.println(area=+pi*radius*radius); 16 } 17 } 18 class CCoin extends CCircle // 定义CCoin类,继承自CCircle类 19 { 20 private int value; 21 public CCoin(){ // CCoin()构造函数 22 System.out.println(CCoin() constructor called); 23 } 24 public void setValue(int t){ 25 value=t; 26 System.out.println(value=+value); 27 } 28 } 29 30 public class app9_1 31 { 32 public static void main(String args[]) 33 { 34 CCoin coin=new CCoin(); //创建CCoin对象 35 coin.setRadius(2.0); //调用父类的setRadius() 方法 36 coin.show(); //调用父类的show() 方法 37 coin.setValue(5); //调用子类的setValue() 方法 38 } 39 } /* app9-1 OUTPUT------- CCircle() constructor called CCoin() constructor called果 radius=2.0 area=12.56 value=5 ------------------------*/ 9-1-2 调用父类中特定的构造函数 当调用类的构造方法时,作为所有超类的具有同样说明的构造方法也被调用。这就保证继承子类的初始化。问题是,如果父类很多个构造函数,我们如何去调用其特定的构造函数? 为此,为此,我们在子类中通过super()关键字:super(参数l,参数2,…)来调用,而且super(...)调用最紧靠超类的构造方法 01 // app9_2, 调用父类中特定的构造函数 02 class CCircle // 定义父类CCircle 03 { 04 private double pi=3.14; 05 private double radius; 06 07 public CCircle(){ // CCircle()构造函数 08 System.out.println(CCircle() constructor called); 09 } 10 public CCircle(double r){ // CCircle()有参数的构造函数 11 System.out.println(CCircle(double r) constructor called); 12 radius=r; 13 } 14 public void show(){ 15 System.out.println(area=+pi*radius*radius); 16 } 17 } 18cla
文档评论(0)