第三章类的成员的布局及存取

 

一、类成员的布局

  1.静态数据成员布局在全局变量区。不同类的同名静态成员变量,编译器会对其进行编码来进行区分。

  2.非静态成员的布局要求:在同一访问域(pubiic、private和protect)中后出现的成员在类对象中要有较高地址。(所以地址不一定连续、中间会有边界调整alignment产生的内存或者虚函数表等编译器产生的东西,多个访问域中的成员也*排列)。

  但是目前的编译器一般将多个访问域连在一起,依照声明顺序连成一个连续的区块。

 

二、成员访问

  1.静态成员变量:编译器将此访问直接转换为对该唯一实例的直接访问。

  2.非静态成员变量:必须经由类对象访问(显式或隐式this)

  ①非虚继承:变量在对象内存中的位置(偏移量)在编译期即可确定。

  ②虚继承:变量的位置必须在运行期才能确认。

  

第三章类的成员的布局及存取

上一篇:1.4.0、组合规则


下一篇:JavaWeb-05-JSP规范-07-在线考试管理系统-考试管理模块