Java开发网 |
注册 |
登录 |
帮助 |
搜索 |
排行榜 |
发帖统计
|
您没有登录 |
» Java开发网 » Java SE 综合讨论区
» 学习心得/方法/资源
打印话题 寄给朋友 订阅主题 |
作者 | Re:请教一下继承中的构造方法。 [Re:enen000] |
primoc
发贴: 2 积分: 0 |
于 2008-10-07 16:35
谈一点自己的拙见和理解 首先需要搞清楚初始化的顺序 再理解继承中父类与子类的关系就容易一些了 --------- 从正常的概念上来讲,一定是先有父再有子,没有父类也就不存在子类 继承也是这个道理,在初始化的过程中,一定是先调用父类的构造方法创建出父类的对象,子类才有东西去继承,子类才会存在 所以当一个类B继承一个类A的时候 class B extends A{} 再执行类B的构造方法时,首先调用的是其父类A的构造方法,在没有显式的调用父类构造方法的时候,程序会默认调用父类的无参构造方法 public B(){ super() ; } super关键字是表示一个指向父类对象的引用,通过这个引用调用父类的无参构造方法创建出一个父类的对象,然后再执行子类的构造方法创建出子类对象,这里写不写super()调用效果都是一样的,没有写的情况下,程序会自动调用父类的无参构造方法 还有一点要注意的是如果父类中重载了构造方法,也就是没有显式的提供无参构造函数,则在子类中不能由程序默认去调用无参的父类构造函数,解决的方法是给父类手动添加一个无参的构造函数,或者在子类中显式的调用父类有参的构造函数 自己写一个简单的小程序就明白了!! class Person{ String name ; int age ; public Person(){ System.out.println("父类无参构造") ; } public Person(String name){ this.name = name ; System.out.println("父类有参构造") ; } } class Student extends Person{ public Student(){ System.out.println("子类无参构造") ; } } public class JavaTest01{ public static void main(String[] args){ Student s = new Student() ; } } 基于WEB的J2EE报表解决方案集锦 |
话题树型展开 |
人气 | 标题 | 作者 | 字数 | 发贴时间 |
14576 | 请教一下继承中的构造方法。 | enen000 | 54 | 2008-09-15 23:05 |
11525 | Re:请教一下继承中的构造方法。 | xuxiaolei | 406 | 2008-09-16 07:38 |
11363 | Re:请教一下继承中的构造方法。 | JiafanZhou | 154 | 2008-09-18 18:19 |
11344 | Re:请教一下继承中的构造方法。 | xuxiaolei | 26 | 2008-09-19 21:19 |
11575 | Re:请教一下继承中的构造方法。 | 690716494 | 31 | 2008-09-26 23:06 |
11147 | Re:请教一下继承中的构造方法。 | andy_wang_5 | 26 | 2008-09-27 09:23 |
12185 | Re:请教一下继承中的构造方法。 | primoc | 1155 | 2008-10-07 16:35 |
已读帖子 新的帖子 被删除的帖子 |
Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1 客服电话 18559299278 客服信箱 714923@qq.com 客服QQ 714923 |