日期:2011-03-22 16:17:00 来源:本站整理
java的承当初始化[Java编程]
本文“java的承当初始化[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
我们有必要对整个初始化历程有所熟习,此中包含担当,对这个历程中发生的事情有一个整体性的概念.请察看下述代码:
//: Beetle.java // The full process of initialization. class Insect { int i = 9; int j; Insect() { prt("i = " + i + ", j = " + j); j = 39; } static int x1 = prt("static Insect.x1 initialized"); static int prt(String s) { System.out.println(s); return 47; } } public class Beetle extends Insect { int k = prt("Beetle.k initialized"); Beetle() { prt("k = " + k); prt("j = " + j); } static int x2 = prt("static Beetle.x2 initialized"); static int prt(String s) { System.out.println(s); return 63; } public static void main(String[] args) { prt("Beetle constructor"); Beetle b = new Beetle(); } } ///:~
该程序的输出以下:
对Beetle运行Java时,发生的第一件事情是装载程序到表面找到那个类.在装载历程中,装载程序注意它有一个底子类(即extends关键字要表达的意思),所以随之将其载入.无论能否预备生成那个底子类的一个对象,这个历程城市发生(请试着将对象的成立代码当作注释标注出来,自己去证实).static Insect.x initialized static Beetle.x initialized Beetle constructor i = 9, j = 0 Beetle.k initialized k = 63 j = 39
若底子类含有另一个底子类,则另一个底子类随即也会载入,以此类推.接下来,会在根底础类(此时是Insect)履行static初始化,再在下一个衍生类履行,以此类推.保证这个次序是非常关键的,因为衍生类的初始化大概要依靠于对底子类成员的精确初始化.
此时,必要的类已全部装载完毕,所以可以成立对象.首先,这个对象中的全部基本数据范例城市设成它们的默许值,而将对象句柄设为null.随后会调用底子类构建器.在这种情形下,调用是自动举行的.但也完好可以用super来自行指定构建器调用(就象在Beetle()构建器中的第一个操作一样).底子类的构建采取与衍生类构建器完好相同的处理历程.底子顺构建器完成今后,实例变量会按本来的次序得以初始化.最后,履行构建器剩余的主体部份.
以上是“java的承当初始化[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |
- ·上一篇文章:初始化底子类
- ·下一篇文章:初始化和类装载
- ·中查找“java的承当初始化”更多相关内容
- ·中查找“java的承当初始化”更多相关内容
评论内容只代表网友观点,与本站立场无关!
评论摘要(共 0 条,得分 0 分,平均 0 分)
查看完整评论