我有以下代码块:
我的问题与局部变量和实例变量有关,为了知道它们分配在堆内存还是栈内存中。在默认构造函数中,似乎只存在一个局部变量,即由'this'关键字创建的变量,但是为什么'name = "Anonymous";'不被视为局部变量呢?它是对象类型,但这些也可以是局部变量,对吗?顺便问一下,你能给出使用默认构造函数创建/实例化的对象的示例吗? 谢谢!
class Student{
int age; //instance variable
String name; //instance variable
public Student()
{
this.age = 0;
name = "Anonymous";
}
public Student(int Age, String Name)
{
this. age = Age;
setName(Name);
}
public void setName(String Name)
{
this.name = Name;
}
}
public class Main{
public static void main(String[] args) {
Student s; //local variable
s = new Student(23,"Jonh");
int noStudents = 1; //local variable
}
}
我的问题与局部变量和实例变量有关,为了知道它们分配在堆内存还是栈内存中。在默认构造函数中,似乎只存在一个局部变量,即由'this'关键字创建的变量,但是为什么'name = "Anonymous";'不被视为局部变量呢?它是对象类型,但这些也可以是局部变量,对吗?顺便问一下,你能给出使用默认构造函数创建/实例化的对象的示例吗? 谢谢!