登陆注册
15296300000097

第97章 2 构造器

小A:“什么是构造器?”

大B:“首先要注意的是Java的构造器并不是函数,所以他并不能被继承,这在我们extends的时候写子类的构造器时比较的常见,即使子类构造器参数和父类的完全一样,我们也要写super就是因为这个原因。构造器的修饰符比较的有限,仅仅只有public private protected这三个,其他的例如任何修饰符都不能对其使用,也就是说构造器不允许被成名成抽象、同步、静态等等访问限制以外的形式。因为构造器不是函数,所以它是没有返回值的,也不允许有返回值。但是这里要说明一下,构造器中允许存在return语句,但是return什么都不返回,如果你指定了返回值,虽然编译器不会报出任何错误,但是JVM会认为他是一个与构造器同名的函数罢了,这样就会出现一些莫名其妙的无法找到构造器的错误,这里是要加倍注意的。”

小A:“在我们extends一个子类的时候经常会出现一些意想不到的问题,你能和我说说一些和构造器有关的吗?”

大B:“首先说一下Java在构造实例时的顺序(不讨论装载类的过程),构造的粗略过程如下1、分配对象空间,并将对象中成员初始化为0或者空,java不允许用户操纵一个不定值的对象。2、执行属性值的显式初始化。3、执行构造器。4、将变量关联到堆中的对象上。”

小A:“能介绍一下准备知识吗?以备一会来详细了解这个的流程。”

大B:“this()super()是你如果想用传入当前构造器中的参数或者构造器中的数据调用其他构造器或者控制父类构造器时使用的,在一个构造器中你只能使用this()或者super()之中的一个,而且调用的位置只能在构造器的第一行,在子类中如果你希望调用父类的构造器来初始化父类的部分,那就用合适的参数来调用super(),如果你用没有参数的super()来调用父类的构造器(同时也没有使用this()来调用其他构造器),父类缺省的构造器会被调用,如果父类没有缺省的构造器,那编译器就会报一个错误,注意这里,我们经常在继承父类的时候构造器中并不写和父类有关的内容,此时如果父类没有缺省构造器,就会出现编译器添加的缺省构造器给你添麻烦的问题了哦!例如:Class b extends a{public b(){}}就没有任何有关父类构造器的信息,这时父类的缺省构造器就会被调用。”

举个SL-275中的例子

public class Manager extends Employee{

private String department;

public Manager(String name,double salary,String dept)

{

super(name,salary);

department=dept;

}

public Manager(String n,String dept){

super(name);

department=dept;

}

public Manager(String dept){//这里就没有super(),编译器会自动地添加一个空参数的缺省super构造器,此时如果Employee类中没有空参数的缺省构造器,那就会导致一个编译错误。

department=d;

}

}

大B:“你必须在构造器的第一行放置super或者this构造器,否则编译器会自动地放一个空参数的super构造器的,其他的构造器也可以调用super或者this,调用成一个递归构造链,最后的结果是父类的构造器(可能有多级父类构造器)始终在子类的构造器之前执行,递归的调用父类构造器。在具体构造类实例的过程中,上边过程的第二步和第三步是有一些变化的,这里的顺序是这样的,分配了对象空间及对象成员初始化为默认值之后,构造器就递归的从继承树由根部向下调用,每个构造器的执行过程是这样的:1、Bind构造器的参数。2、如果显式的调用了this,那就递归调用this构造器然后跳到步骤5.3、递归调用显式或者隐式的父类构造器,除了Object以外,因为它没有父类。4、执行显式的实例变量初始化(也就是上边的流程中的第二步,调用返回以后执行,这个步骤相当于在父构造器执行后隐含执行的,看样子像一个特殊处理)。5、执行构造器的其它部分。”

小A:“好像有点明白了。”

大B:“这里的步骤很重要哦!从这个步骤中可以很明显的发现这个实例初始化时的递归调用过程。”

同类推荐
  • 领导干部信息化基础

    领导干部信息化基础

    本书共分6章,分别介绍了计算机网络综述;信息化的三个主要领域,即电子政务(政府信息化)、企业信息化和电子商务;PowerPoint2000中文演示文稿等内容。
  • 纵横于天地之间——互联网络技术

    纵横于天地之间——互联网络技术

    本书告诉你:不管你是谁,只要生活在当前的时代,你一定知道电话,知道电脑,知道上网……知道许许多多关于电子、关于计算机、关于网络的话题,这就是网络时代。网络的话题可多了:它是怎么来的?什么是“蜘蛛网”?网络的过去和现在,上网的方法,如何使用网络,互联网的安全,网络有“陷阱”吗?网络有“瘾”吗?网络文化和未来又是怎样的?到书中去找答案吧!
  • 中文版AutoCAD2005建筑绘图精讲精学

    中文版AutoCAD2005建筑绘图精讲精学

    本书从中文版AutoCAD2005建筑绘图的基础进行介绍,讲解了建筑绘图的环境设置、二维建筑图形的绘制、二维建筑及装饰图形的编辑、建筑绘图中的文字标注和图形查询、建筑装潢平面图中的尺寸标注、建筑绘图中图块的应用、建筑平面图的绘制、建筑立面图的绘制、建筑剖面图的绘制、建筑绘图中的三维造型、三维建筑模型绘制及建筑图纸的布局与打印输出等内容。
  • 黑客就在你身边

    黑客就在你身边

    互联网络正在改变着我们的生活,每个人都处在互联网的天罗地网之中。本书以轻松的笔调,向人们介绍了有关“黑客”的知识。当你读完这本书后,你会发觉“黑客”一点都不神秘,他们渴望全社会对他们有一个公正的评价。
  • 高校校园网管理与网上引导工作研究

    高校校园网管理与网上引导工作研究

    在当今的信息化潮流之下,我们不可否认互联网的出现,绝不仅仅是传送手段的变化,更重要的是它代表着一种新的社会形态——网络社会的来临。互联网已经以一种前所未有的方式渗透到现代社会的各个层面和领域,成为现代社会前进和发展的动力和工具,它推动了社会经济、文化政治实现所谓的“数字化转变”。
热门推荐
  • 老母塔之夜

    老母塔之夜

    风雨交加的老母塔之夜,一场恶战将上演。强盗穆巴拉克与贪官、野蛮人、烧炭工相互勾结,可以说是无恶不作。敌人不但狡猾而且邪恶,在埋伏杀手的密林中、在野蛮山民的飞斧前、在峡谷茅房的敌窟中,本尼西与当地百姓联合共同与顽敌斗智斗勇,终于在风雨交加的夜晚,在老母塔前面……终极较量,邪恶的面孔展露无疑。悬念迭起、情节生动、迷人的风情文化、悠远的历史感,这些构成了卡尔·麦小说的永恒魅力。
  • 鬼夫,求放过!

    鬼夫,求放过!

    我不就是睡不着去赏个月吗,先是路遇冷冰冰的帅哥,然后因为贪财戴上了一个镯子,接着就被冰山男强吻,最后。。。尼玛!竟然告诉我,我已经结成冥婚了!!这是什么情况?!
  • 我是魔技师

    我是魔技师

    “老同学,你是不是犯傻啊?你现在拥有强大的力量,完全可以鱼肉这些普通人!金钱、美女、权势,唾手可得!可是你啊,却偏偏喜欢匡扶正义!你啊你,我真是对你无语了。”“我和你不一样,你舍弃自己的良心,做出这么多人神共愤的事情,迟早会遭天谴的!”“哈!天谴?我还真想看看天谴什么时候能够到来。”“就在此时此刻!”“你好狂的口气!”
  • 风云道主

    风云道主

    如果遇到长相和自己相似的人,那你们肯定是源自同一灵魂。在上一世或是百世之间。因为人有三魂:天地人。死后,天地二魂会分别前往天界和地府,分别转世、投胎。转世投胎虽会重塑灵魂,但还是会有相似之处。所以:请对“自己”好一点。摘自道主的《风云语录》感谢阅文书评团提供书评支持!
  • 无极巅峰之超神时代

    无极巅峰之超神时代

    我叫李魁,莫名其妙的穿越到21世纪,之后,我名罗魁,本以为古武已经没落了,没想到它们在暗中,主宰着国家的命运,果然,这里还和以前一样,实力决定了你如何生存,凤羽,龙鳞,入神,星君,至尊,神皇!一道道等级打压下我该何去何从?《护花天子》值得您拥有
  • 宠凰成瘾:废柴魔妃逆天下

    宠凰成瘾:废柴魔妃逆天下

    钟家傻女,被奸人陷害,成为祭品,却不想死而复生。复仇?很简单!但她要的却是天下为她臣服!天地为她震慑!从人尽可欺,到逆天霸主。从一无所有,到人人跪求。她威风一世,却扛不住那天下之主的铁血柔情与无限宠爱。但她却没想到,居然有人敢觊觎她的男人!她男人还嬉笑表示,可以与那窥伺者一试!她终于爆发,立于城门之下:“告诉你们女皇,想要汉子,就别要国家!想要国家,就别想碰我汉子一根汗毛,否则……”长枪一甩,身后两座大山灰飞烟灭。那人悠哉出现,对她道:“娘子,原来你居然那么在乎我。那咱们回家研究一下双修之道,可好?”
  • Tfboys等风来

    Tfboys等风来

    当小时候的快乐时光遇到无情的分开,分开后像是天意一样,在一起遇见的他们,会擦出怎样的火花呢?当当红偶像组合Tfboys三位才华横溢的少年遇到新生代少女组合UIK的三位人见人爱美少女又会发生怎样的化学反应?尽请期待!
  • 假面之不死女王

    假面之不死女王

    (如果有好的思路,我是不会弃坑的!)娱乐圈的女王~好吧,也许写偏了。
  • 血族学院的秘密

    血族学院的秘密

    好端端的,妈妈突然给给我换了一间奇怪的学校,整个学期都要在学校,而且还要自己把行李拿到宿舍,对于千金大小姐——夏雨是多么的困难阿!最奇怪的地方是——这个学校分为两个部分,日部和夜部,晚上的时候日部的学生不能去夜部,不然就会...可是夜部的学长们真的好帅吖,日部的女生们只能在白天早上能看见学长们,可是为什么就是不能去夜部?偏偏夏雨就是个好奇宝宝,晚上偷偷进入夜部但是很不幸的恰好被校长看到了TAT,校长托了一个任务给夏雨,这个任务让夏雨又惊又奇......学长们是吸血鬼?!
  • 追仙奇遇记

    追仙奇遇记

    故事情节,纯属虚构。一部,追寻传统神仙源起的小说。一部,有着人世间温度的小说。