如何在两个 类 之间传递值
How to pass value between two classes
例如:
此处 变量在class A
public class A{
public String aClassVar="hello";
}
在Class B
中使用
A obj=new A();
String inBClass=obj.aClassVar;
但反过来呢?如何从 Class B 更改字符串 aClassVar?我可以将上下文从 A 传递到 B 构造函数,然后调用 aContext.aClassVar = ...
?
public class A {
private String myField; //"private" means access to this is restricted
public String getMyField()
{
//include validation, logic, logging or whatever you like here
return this.myField;
}
public void setMyField(String value)
{
//include more logic
this.myField = value;
}
}
搜索 Android getter 和 setter,您将获得大量链接。
定义aClassVar
为静态变量,则
A obj=new A();
obj.aClassVar="new string";
将 aClassVar
设为静态并使用以下代码。
A objA=new A();
objA.aClassVar="new value";
或者使用 getter
和 setter
方法更改值。
首先,String 是不可变的,因此您不能更改它的值,只能将其值赋给其他字符串等。其次,static 用于在整个程序中全局访问事物。
例如: 此处 变量在class A
public class A{
public String aClassVar="hello";
}
在Class B
中使用A obj=new A();
String inBClass=obj.aClassVar;
但反过来呢?如何从 Class B 更改字符串 aClassVar?我可以将上下文从 A 传递到 B 构造函数,然后调用 aContext.aClassVar = ...
?
public class A {
private String myField; //"private" means access to this is restricted
public String getMyField()
{
//include validation, logic, logging or whatever you like here
return this.myField;
}
public void setMyField(String value)
{
//include more logic
this.myField = value;
}
}
搜索 Android getter 和 setter,您将获得大量链接。
定义aClassVar
为静态变量,则
A obj=new A();
obj.aClassVar="new string";
将 aClassVar
设为静态并使用以下代码。
A objA=new A();
objA.aClassVar="new value";
或者使用 getter
和 setter
方法更改值。
首先,String 是不可变的,因此您不能更改它的值,只能将其值赋给其他字符串等。其次,static 用于在整个程序中全局访问事物。