java对象生命周期概述复习
摘要:最近看了下java对象的生命周期做个笔记复习复习,很多不同的原因会使一个java类被初始化,可能造成类初始化的操作:1) 创建一个java类的实例对象。2) 调用一个java类中的静态方法。3) 为类或借口中的静态域赋值。4) 访问类或接口中声明的静态域。5) 在一个顶层java类中执行assert语句也会使该java类被初始化。6) 调用Class类和反射API中进行反射操作的方法也会初始化java类。对象的创建与初始化:对象的创建分为显示和隐式创建显示创建:1)、用new创建对象2)、使用反射手段,即调用java.lang.Class或者java.lang.reflect.Construc
阅读全文
posted @
2013-10-12 15:30
刀锋诚心
阅读(740)
推荐(0) 编辑
C++中引用编译过的C代码为什么要用“extern c”
摘要:函数经过编译系统的翻译成汇编,函数名对应着汇编标号。因为C编译函数名与得到的汇编代号基本一样,如:fun()=>_fun,main=>_main但是C++中函数名与得到的汇编代号有比较大的差别。如:由于函数重载,函数名一样,但汇编代号绝对不能一样。为了区分,编译器会把函数名和参数类型合在一起作为汇编代号,这样就解决了重载问题。具体如何把函数名和参数类型合在一起,要看编译器的帮助说明了。这样一来,如果C++调用C,如fun(),则调用名就不是C的翻译结果_fun,而是带有参数信息的一个名字,因此就不能调用到fun(),为了解决这个问题,加上extern "C"表示
阅读全文
posted @
2013-10-11 22:25
刀锋诚心
阅读(412)
推荐(0) 编辑
C++友元概念
摘要:采用类的机制后实现了数据的隐藏与封装,类的数据成员一般定义为私有成员,成员函数一般定义为公有的,依此提供类与外界间的通信接口。但是,有时需要定义一些函数,这些函数不是类的一部分,但又需要频繁地访问类的数据成员,这时可以将这些函数定义为该函数的友元函数。除了友元函数外,还有友元类,两者统成为友元。友元的作用是提高了程序的运行效率(即减少了类型检查和安全性检查等都需要时间开销),但它破坏了类的封装性和隐藏性,使得非成员函数可以访问类的私有成员。友元函数:友元函数是可以直接访问类的私有成员的非成员函数。它是定义在类外的普通函数,它不属于任何类,但需要在类的定义中加以声明,声明时只需在友元的名称前面加
阅读全文
posted @
2013-10-11 22:16
刀锋诚心
阅读(845)
推荐(0) 编辑