在下面的程序中,是否意味着创建了3个实例变量和3个实例方法并为它们分配了内存?
class Foo{
String name = "";
public void greet(String name){
this.name = name;
}
}
class Greetings {
public static void main (String[] args) {
Foo ob = new Foo();
Foo ob1 = new Foo();
Foo ob2 = new Foo();
ob.greet("hello friends");
ob1.greet("welcome to java");
ob2.greet("let us learn");
System.out.println(ob.name);
System.out.println(ob1.name);
System.out.println(ob2.name);
}
}
答案 0 :(得分:1)
Java语言规范没有说明如何组织内存,或者如何表示对象,方法和类。
所以,答案是:你不能和不应该知道。
答案 1 :(得分:0)
所有3个对象都存储在堆内存中。随着应用程序的运行,堆的大小会增加。这里的 new 运算符将内存分配给堆中的对象。这意味着每次在语句中说 new 时,都会在堆中为该对象分配一个单独的内存空间。方法存储在JVM内部堆中。
您可以找到一个简单的示例,说明如何管理java here
中对象的内存