Jon*_*eet 12
不 - 你只为方法"付费"一次,而不是每个实例一次.毕竟,代码不会针对每个不同的实例进行更改String,那么为什么要为每个实例创建一个新的副本呢?
(在一些基于原型的语言中,我怀疑对于具有大量方法的对象可能会受到惩罚,具体取决于它们的分配方式......但是您必须询问非常具体的情况.)
虽然Java中的String类确实有很多方法,但在许多平台中都会出现同样的情况 - 因为有很多种方法可以使用字符串.
方法不占用每个对象的内存.您可以将其a.myMethod()视为语法糖myMethod(a).(当然,幕后还有更多内容,但这可能有助于您理解为什么很多方法并不意味着对象创建需要大量内存.)
| 归档时间: |
|
| 查看次数: |
111 次 |
| 最近记录: |