【Kirito】 S.A.O 2021-05-05 17:48 采纳率: 100%
浏览 32
已采纳

这个类和实例之间的属性修改为什么这么奇怪

为什么Dog里的cat改变之后dog2里的cat也变了,他们明明内存地址都不一样,而dog里的cat却没有变

  • 写回答

4条回答 默认 最新

  • 关注

    cat 是类属性,类属性就是类对象(Dog)所拥有的属性,它被所有类对象的实例对象(实例方法)所共有,在内存中只存在一个副本。

    当实例对象访问cat属性时会先看这个实例对象本身有没有cat属性。没有才从类对象(Dog)中取的类属性cat。

     

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?