关于未将对象引用设置到对象实例简单原理分析,与解决方法

来源:互联网 发布:小田切让 性格 知乎 编辑:程序博客网 时间:2024/05/17 03:41

这个问题我相信困扰着许多的,刚刚入门面向对象思想的同学。

其实这个问题没有想象中的那么复杂,只是太多同学把写代码想得太过于快餐。不知道现在还有多少同学在处错误的时候,先读完错误提示再去看怎么错的呢?

下面我来给大家分析一下这个“未将对象引用设置到对象实例”这个问题。

在我们要实例化对象的时候,其实是分两步的。

第一步,声明变量。就是  :   类名  变量名 ;

第二步,给声明的变量赋值。就是   变量名 =  变量的值;(由于这个变量的值的取得方法有许多,我就不一一写出了)。

第一步就是在内存中为这个变量分一块空间,但是是空的,寄存器有地址,没内容。

这时候,在我们赋值的时候,就是往我们已经分好的这块空间里面放入东西,这个东西必须是这个变量的类型。

而“未将对象引用设置到对象实例”这个错误也就来了。也就是我们变量的值这个部分根本就没有获取到。

这个错误在你赋值的时候,是不会提示你“未将对象引用设置到对象实例”的,因为这个时候,你只是对象实例化的错误,没有涉及到对象的引用。

当你第一次用到这个对象的时候(调用方法啦,调用属性啦)这都属于对这个对象的引用,这时候才会报错,为什么错呢?

原因就是你的“变量的值”这部分根本就没有值,可能有的人说了,你这完全就是逻辑混乱啊,变量的值怎么会没有值呢。

其实,我们在直接用new来实例化对象的时候,确实不会出现这个问题。但是,有的时候我们需要用别的方式来获取到,查找到这个对象的值

如果我们填入的错误的用来获取,查找的信息,那么这个值就会找不到,就放不到内存中那个空间中去。

所以在出现了这个错误的时候,直接去找提示你错误的那行中,引用的对象的实例化那,看看是什么填错了吧。

原创粉丝点击