发文章
发文工具
撰写
网文摘手
文档
视频
思维导图
随笔
相册
原创同步助手
其他工具
图片转文字
文件清理
AI助手
留言交流
Operation oper=null; oper =new Operation();
在Operation oper=null;这段代码中。其实这里并不是实例化operation,只是声明一个引用变量。那为什么他的
类型为null呢?因为此时变量的类型还没有被实例化,所以为空引用。当执行下一步代码时,此时通过运算符new 为
变量动态分配一个内存,同时返回一个内存地址,并将这个地址赋给变量oper。由此可知变量oper存放的是Operation
对象实例的引用,也就是内存首地址。这样来说的话,在我们访问实例对象时就需要两个步骤。第一:首先得到在栈
中存放的变量的内存首地址;第二:再利用得到的内存首地址来访问堆中实例对象。这也就能够解释为什么说类是一
种引用类型。
来总结下,其实oper是一个存放实例对象地址的变量,而不是一个真正的变量。这样我们对于这些东西有了一定
的认识以后,理解起来就会容易和清楚些。
来自: 昵称10504424 > 《架构设计》
0条评论
发表
请遵守用户 评论公约
java中NULL与" "的区别
哦,我明白了,意思就是String string = null 跟String string;是一回事儿。String s="a"和String s=new String("a");是有本质上的区别的。String abc;//String类维护着一个字符串池...
关于IE下的内存回收研究.
有很多人提到IE下使用AJAX内存会增长很快.aa = null;也就是说我们需要手动的对这些内存进行释放. var aa = new class1(); for(o in aa)aa[o]=null; aa = null; 这样就可以完全把class1的内存...
静态方法与实例方法的区别
静态方法与实例方法的区别静态方法与实例方法的区别。使用了static 修饰符的方法为静态方法,反之则是非静态方法。1.static方法是类中的一个成员方法,属于整个类,即不用创建任何对象也可以直接调用!sta...
内存__c#值类型和引用类型
内存__c#值类型和引用类型在C#中,值类型:整型、布尔型、字符型、实数型、结构型、枚举型。2、引用类型分配在托管堆上,引用类型的变量...
java常见设计模式之---单例模式
java常见设计模式之---单例模式。public class Singleton4 { private Singleton4(){} //给instance加上了volatile关键字 private volatile static Singleton4 instance= null; public static Singleton...
如何正确地写出单例模式 | Jark's Blog
//声明成 volatile private Singleton (){} public static Singleton getSingleton() { if (instance == null) { synchronized (Singleton.class) { if (instance == null) { instance = new Singlet...
scjp认证套题解析(2)
A. 实例变量是类的成员变量。实例变量在类的一个实例构造时完成初始化,而且在类的静态方法中不能直接访问类的非静态成员而只能访问类成员(像上题中一样),类的普通方法可以访问类的所有成员和方法,...
如何理解Python类中的self?
许多python初学者,在接触到python面向对象的时候,就被类中包含的方法中的self打败了,不知道self是何物?通过上图,我们发现对象mytes...
GoF设计模式之五 Singleton- -
public class Singleton { private Singleton(){} private static Singleton instance = new Singleton();} } 第一行必须用private的构造函数,这样才能防止别的class生成Singleto...
微信扫码,在手机上查看选中内容