类对象与实例对象的区别,下面的例子哪位大神更清楚原理,帮忙解释下
Topic source你的理解是错的。
MyObject()就是实例,只是没有变量引用它,你就无法对他进行后续操作
x=MyObject()就把实例引用给到变量x,用变量x可以操作实例,变量x的值就是实例地址
你别重新让x指向另一个实例,它的地址就永远不变
y=x相当于x和y都指向同一个实例,两个变量的值相同
MyObject是class,加个括号MyObject()表示创建并返回实例
感谢廖老师解答,这回明白了,在没有变量引用MyObject()的情况下,MyObject()只是存在临时地址上,所以后续的操作(赋值等)其实都没有用,不是对MyObject()的操作。相反,引用到变量后,变量x才可以影响实例。
- 1
采蘑菇的lucas_688
三种修改属性值的方法比较, 类对象的属性值无法修改, 实例对象的属性值可以修改
之前记得廖老师讲过类是模板, 只有在实例化之后才可以固定引用, 通过重复运行发现每次运行类对象, 内存地址是变化的。但是实例化之后内存地址才会固定下来