|
![]() |
名片设计 CorelDRAW Illustrator AuotoCAD Painter 其他软件 Photoshop Fireworks Flash |
|
Java中new DerivedClass()时背后发生的事情 (原创 – 邵正军, 2005-4-5) class DerivedClass extends BaseClass {…} new DerivedClass(); 1 装载class 1.1 载入BaseClass , 产生了此处说明的序列步骤(即: [装载class])的递归. 1.2 载入DerivedClass 1.2.1 为类作用域变量分配存储空间,并赋默认值 1.2.2 调用<cinit>,这包括: a).声明类作用域变量并同时赋值的语句 b).包含在 static {…} 中的赋值语句以及其他任何合法语句.c).要说明的是: 以上赋值语句的右值也可以是函数调用,那是合法的. 2 为实例作用域变量分配存储空间,并赋默认值. 3 调用构造函数***注重: Java规定:构造函数的第一个条语句必须是对super构造函数的调用,假如代码中不是这样,会由编译器自动为其偷偷加上. 3.1 调用super构造函数, 产生了此处说明的序列步骤(即: [调用构造函数])的递归. 3.2 调用<init>,这包括:a).声明实例作用域变量并同时赋值的语句 b).包含在 {…} 中的赋值语句以及其他任何合法语句.c).要说明的是: 以上赋值语句的右值也可以是函数调用,那是合法的. 3.3 执行构造函数中的剩余部分. 返回类别: 教程 上一教程: Java学习从入门到精通 下一教程: 深入浅出Java clone技术 您可以阅读与"Java中new DerivedClass()时背后发生的事情"相关的教程: · java defunct产生的原因和解决办法 · JAVABEAN的事件 · Java Learning Path(五)资源篇 · 在JAVA中编程实现数字签名系统 · JAVABEAN的属性 |
![]() ![]() |
快精灵印艺坊 版权所有 |
首页![]() ![]() ![]() ![]() ![]() ![]() ![]() |