关于this()的问题 当用this调用构造函数时,为什么要放在构造函数的第一条语句?要求从内存角度说明,勿喷... 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 从内存角度?你怎么知道是因为内存角度的问题才强制让this放第一位呢?这有可能是考虑到程序的逻辑性才强制把this放第一位,也有可能是因为JVM的实现方式才把this放第一位。 不懂,第一次听说从内存角度解释This,学习。。 其实这就是一个规定,你可以这么理解。你先掉用this() 来创建实例,然后再做其它初始化动作 但是如果你放在后面,先做了其它初始化动作,你再掉用this()可能会覆盖前面的初始化动作。 我之前也差不多问过和你同样地问题,如果想了解其基本原理,估计也是浪费时间。我估计是出于语言安全的因素,sun根本就没有做过更深入的解释。只是在JDKTM Documentation中对this和super两个keyword的功能做了简单的解释,具体内容可以查询一下。对于这个问题可以不用深究了,可以结帖了! 因为,生成构造器的时候,会默认的生成父类的构造器,super();调用父类的构造器,除了Object类 都有父类, 如果,你没有显示的写this ,构造器默认的会生成super(), 因为,java语法规定了 super()和this()不能同时存在,所以 假设java没有这个语法,你想下,你用this()调用构造器,你调用的那个构造器,本身就带了super()所以,会出现两次调用,super(),所以 jTree链数据库 寻找SSL结构图,工作原理示意图,还有SSL Socket的 怎实现窗口传递同步 如何获得主机的CPU利用率!Java问题!! 一个数据库更新问题~~~~在线求解~~~ 高手请进:关于派生类与集合的问题 怎么样清除程序 用jb制作bean出问题了 关于j2se开发桌面应用程序 for循环问题,优化代码, 在线等 算法难题 SafeBufferedReader这个类在哪
从内存角度?你怎么知道是因为内存角度的问题才强制让this放第一位呢?这有可能是考虑到程序的逻辑性才强制把this放第一位,也有可能是因为JVM的实现方式才把this放第一位。
如果,你没有显示的写this ,构造器默认的会生成super(), 因为,java语法规定了 super()和this()不能同时存在,所以 假设java没有这个语法,你想下,你用this()调用构造器,你调用的那个构造器,本身就带了super()所以,会出现两次调用,super(),所以