当我们创建一个类的实例时会发生什么?我的意思是,该类的每个字段和方法都将在该对象内(具有已分配的内存),或者它内部没有任何内容并且具有对其类的引用.(第一种选择看起来像浪费内存.)
无论何时创建新对象,都会在堆空间(动态内存)中分配新内存.此空间保留用于特定于此类的单个实例的所有内容.这意味着每个字段(实例字段,而不是静态字段)在内存中都有自己独立的位置.
对于方法,事情是不同的,因为它们对于类的所有实例是通用的,这意味着在内存中将有一个方法,每个类的实例都会引用它们.
如果您想知道存储方法的局部变量在哪里:它们存储在堆栈中,这意味着它们不会在该方法的调用之间共享.
此外,方法存储在"代码存储器"中,与实例字段分开.