Java。 Get/Set returns 空
Java. Get/Set returns null
第一个 post 和第一个问题。
我是一个 java 初学者,所以如果我的问题很基础,我提前道歉,但我已经尝试了 2 天在互联网和 Whosebug 上找到答案,但没有成功
我想做的事:我想 "set" 一个变量的值,然后 "get" 它返回多次。
发生了什么:我第一次 "get" 它,它(正确地)returns 我初始化的值。以下时间 returns "null"
这里是代码
1) 主要 class
public class Provasetgetaltraclass {
public static void main(String[] args) {
set_e_get_1 set_e_get_1Obj = new set_e_get_1();
set_e_get_1Obj.execute_var_to_set_e_get1();
set_e_get_1Obj.execute_var_to_set_e_get2();
}
}
2) class 与操作
public class set_e_get_1 {
public void execute_var_to_set_e_get1(){
var_to_set_e_get var_to_set_e_getObj = new var_to_set_e_get();
var_to_set_e_getObj.setname("test");
System.out.println(var_to_set_e_getObj.getname());
}
public void execute_var_to_set_e_get2(){
var_to_set_e_get var_to_set_e_getObj = new var_to_set_e_get();
System.out.println(var_to_set_e_getObj.getname());
}
}
3) class 变量和 set 和 get 方法
public class var_to_set_e_get {
private String name;
public void setname (String new_name){
name = new_name;
}
public String getname (){
return name;
}
}
4)结果,当我运行主的时候,是
test
null
(我要的是测试测试)
除非必要,否则我不想将变量存储在数据库或文件中,因为我想让它在运行中工作
如果你能帮助我,我将不胜感激
非常感谢
您的两个方法 execute_var_to_set_e_get1
和 execute_var_to_set_e_get2
各自创建了 var_to_set_e_get
class 的不同对象。您仅在其中一个中设置了 属性 的值,因此当然在另一个中它将为 null。
如果您希望存储在第一个对象中的值在第二个方法中可用,您的第一个方法必须 return 它创建的对象,第二个方法应该接受该对象:
public var_to_set_e_get execute_var_to_set_e_get1(){
var_to_set_e_get var_to_set_e_getObj = new var_to_set_e_get();
var_to_set_e_getObj.setname("test");
System.out.println(var_to_set_e_getObj.getname());
return var_to_set_e_getObj;
}
public void execute_var_to_set_e_get2(var_to_set_e_get var_to_set_e_getObj){
System.out.println(var_to_set_e_getObj.getname());
}
public static void main(String[] args) {
set_e_get_1 obj = new set_e_get_1();
var_to_set_e_get v = obj.execute_var_to_set_e_get1();
obj.execute_var_to_set_e_get2(v);
}
发生的情况是,在每次调用方法 execute_var_to_set_e_get1
和 execute_var_to_set_e_get2
时,您都在创建不同的对象。
在第一个中,您将 name
设置为 String
,但在最后一个中,您没有这样做。
因此,它将是 null
(默认情况下)。
注意: 您所描述的行为属于 static
属性。如果您将 name
声明为 static
,它将在所有实例之间共享。
第一个 post 和第一个问题。
我是一个 java 初学者,所以如果我的问题很基础,我提前道歉,但我已经尝试了 2 天在互联网和 Whosebug 上找到答案,但没有成功
我想做的事:我想 "set" 一个变量的值,然后 "get" 它返回多次。
发生了什么:我第一次 "get" 它,它(正确地)returns 我初始化的值。以下时间 returns "null"
这里是代码 1) 主要 class
public class Provasetgetaltraclass {
public static void main(String[] args) {
set_e_get_1 set_e_get_1Obj = new set_e_get_1();
set_e_get_1Obj.execute_var_to_set_e_get1();
set_e_get_1Obj.execute_var_to_set_e_get2();
}
}
2) class 与操作
public class set_e_get_1 {
public void execute_var_to_set_e_get1(){
var_to_set_e_get var_to_set_e_getObj = new var_to_set_e_get();
var_to_set_e_getObj.setname("test");
System.out.println(var_to_set_e_getObj.getname());
}
public void execute_var_to_set_e_get2(){
var_to_set_e_get var_to_set_e_getObj = new var_to_set_e_get();
System.out.println(var_to_set_e_getObj.getname());
}
}
3) class 变量和 set 和 get 方法
public class var_to_set_e_get {
private String name;
public void setname (String new_name){
name = new_name;
}
public String getname (){
return name;
}
}
4)结果,当我运行主的时候,是
test
null
(我要的是测试测试)
除非必要,否则我不想将变量存储在数据库或文件中,因为我想让它在运行中工作
如果你能帮助我,我将不胜感激 非常感谢
您的两个方法 execute_var_to_set_e_get1
和 execute_var_to_set_e_get2
各自创建了 var_to_set_e_get
class 的不同对象。您仅在其中一个中设置了 属性 的值,因此当然在另一个中它将为 null。
如果您希望存储在第一个对象中的值在第二个方法中可用,您的第一个方法必须 return 它创建的对象,第二个方法应该接受该对象:
public var_to_set_e_get execute_var_to_set_e_get1(){
var_to_set_e_get var_to_set_e_getObj = new var_to_set_e_get();
var_to_set_e_getObj.setname("test");
System.out.println(var_to_set_e_getObj.getname());
return var_to_set_e_getObj;
}
public void execute_var_to_set_e_get2(var_to_set_e_get var_to_set_e_getObj){
System.out.println(var_to_set_e_getObj.getname());
}
public static void main(String[] args) {
set_e_get_1 obj = new set_e_get_1();
var_to_set_e_get v = obj.execute_var_to_set_e_get1();
obj.execute_var_to_set_e_get2(v);
}
发生的情况是,在每次调用方法 execute_var_to_set_e_get1
和 execute_var_to_set_e_get2
时,您都在创建不同的对象。
在第一个中,您将 name
设置为 String
,但在最后一个中,您没有这样做。
因此,它将是 null
(默认情况下)。
注意: 您所描述的行为属于 static
属性。如果您将 name
声明为 static
,它将在所有实例之间共享。