我是Java编程的新手,我被困在如何将局部变量转换为类变量。我知道的方法是声明变量外部方法,但该变量的值在方法内初始化,当我在方法之外使用该方法时,它给我null。请让我,我该怎么做。
先谢谢。
答案 0 :(得分:2)
在块外部初始化变量,并将其设置在块内。你可以在外面访问它。
int myInt;
if(x > 10){
myInt = x;
}
// You have access to myInt here;
VS
if(x > 10){
int myInt = x;
}
// You Do Not have access to myInt here;
答案 1 :(得分:0)
两件事。在类的构造函数中设置值,并且不要在方法中创建同一变量的新副本(它变为本地范围的变量)。
答案 2 :(得分:0)
创建实例变量(类的成员变量)以简化而不是局部变量。
答案 3 :(得分:0)
在这种情况下,技巧基本上是了解我们在Java中拥有的变量类型:
在这种情况下,您要做的是在类的开头定义一个实例变量,然后在系统中的任何位置访问它。
这是我的示例:我有一个简单的POJO`BMI类{
public double weight;
public double getWeight() {
return weight;
}
public void setWeight(double weight) {
this.weight = weight;
}
public double getHeight() {
return height;
}
public void setHeight(double height) {
this.height = height;
}
public double height;
public BMI() {
}
我的主要Java类...
public class MainActivity {
double weight;
double height;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void calculateBMI(double mWeight, double mHeight){
BMI myWeight = new BMI();
BMI myHeight = new BMI();
weight = mWeight.setWeight();
height = mHeight.setHeight();
Height = height;
weight = weight;
//calculate your bmi
} `