龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > JAVA开发 >

Java基础入门: 关于Java 构造器

时间:2009-12-23 15:42来源:未知 作者:admin 点击:
分享到:
首先要注重的是Java的构造器并不是函数,所以他并不能被继续,这在我们extends的时候写子类的构造器时比较的常见,即使子类构造器参数和父类的完全一样,我们也要写super就是因为这

首先要注重的是Java的构造器并不是函数,所以他并不能被继续,这在我们extends的时候写子类的构造器时比较的常见,即使子类构造器参数和父类的完全一样,我们也要写super就是因为这个原因。<?XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" />

 

构造器的修饰符比较的有限,仅仅只有public private protected这三个,其他的例如任何修饰符都不能对其使用,也就是说构造器不答应被成名成抽象、同步、静态等等访问限制以外的形式。

 

因为构造器不是函数,所以它是没有返回值的,也不答应有返回值。但是这里要说明一下,构造器中答应存在return语句,但是return什么都不返回,假如你指定了返回值,虽然编译器不会报出任何错误,但是JVM会认为他是一个与构造器同名的函数罢了,这样就会出现一些莫名其妙的无法找到构造器的错误,这里是要加倍注重的。

 

在我们extends一个子类的时候经常会出现一些意想不到的问题,我在这里说一些和构造器有关的。

 

首先说一下Java在构造实例时的顺序(不讨论装载类的过程)

 

构造的粗略过程如下

 

1、分配对象空间,并将对象中成员初始化为0或者空,java不答应用户操纵一个不定值的对象。

 

2、执行属性值的显式初始化(这里有一点变化,一会解释,但大体是这样的)

 

3、执行构造器

 

4、将变量关联到堆中的对象上


  
精彩图集

赞助商链接