我对Java有一个非常基本的疑问。我有以下几个课程:
userViewtest.java:
package source;
public class userViewTest{
public static void main(String[] args){
userView usersView = new userView();
usersView.printUsers();
}
}
然后是userView.java:
package source;
public class userView{
String test="My test String";
public void printUsers(){
System.out.println(test);
}
}
请原谅,如果这是一个愚蠢的问题,但是当时创建userView对象时,String测试会被实例化,因为当我调用usersView.printUsers(); String测试打印完美。但我不知道何时创建对象,内部的变量加载值。
答案 0 :(得分:2)
test
是一名班级成员。每个userView
(应命名为UserView
)对象的值为test
。
创建对象时,为其分配内存并返回对该内存的引用,您将拥有此变量。我建议你通过tutorial来更好地理解这一点。
答案 1 :(得分:2)
是的,在您创建对象时,java会在堆上为您的对象创建空间并将对象存储在那里,其中包含实例变量(在您的情况下 test 是变量< / em>)
有关详细说明--->
http://en.wikibooks.org/wiki/Java_Programming/Object_Lifecycle
答案 2 :(得分:0)
你的问题不是很清楚。你应该使用大写来开始一个类名。因为当你试图调用对象时,这将导致混淆,因为类名和变量名都是相同的。
UserView usersView = new userView(); // Here, you are creating a new instance of
// userView which refers to the same memory location
此usersView
包含UserView
的所有属性。现在,您可以通过方法名称调用它们来调用它们。