大佬进,安卓开发全局变量有啥作用?
aide吧
全部回复
仅看楼主
level 9
天山七王 楼主
如问,全局变量是用来干什么的,请举出具体例子详细解说
2020年09月04日 18点09分 1
level 1
按照我目前的理解,其实java里没什么全局不全局的,就是作用域的问题。
所谓的全局变量就是用static修饰的变量,静态变量,它与普通变量的储存位置不同,这涉及到堆和栈的问题。
下面举例:
class ABC{
int a;
int b;
public void test(int b){
int a=b;
this.a=a;
this.b=a*2;
}

ABC abc= new ABC().test(10);
这时候
abc.a是10
abc.b是20
这个例子中方法的形参(int b)和方法内的(int a)都只在方法中有效。而ABC类的属性变量a,b是属于abc对象的属性,只要不销毁这个对象它始终有效,可以通过abc.a,abc.b调用。
class AAA{
static int a=10;
}
这时候a是一个静态变量,可以直接用类名调用,不用实例化对象,AAA.a,在其他类中也可以调用。比如
class BBB{
int a;
public void show(){
a=AAA.a;
}
}
2020年09月05日 08点09分 2
ABC abc= new ABC().test(10);这些错了,应该是ABC abc= new ABC();然后abc.test(10);
2020年09月05日 09点09分
如果是类的属性变量,可以在本类中任何地方直接使用变量名调用,如果与临时变量的变量名相同,需要在前面加this关键字。
2020年09月05日 09点09分
感谢大佬[钱][乖][乖][乖][太开心][太开心][太开心]
2020年09月06日 06点09分
static修饰的是静态变量吧,全局不全局不就是作用域?讲这么复杂
2021年02月20日 08点02分
level 13
我一般在Application里定义一个静态方法返回一个静态的全局Context给一些没传进来但需要context的地方用[滑稽]
2020年09月05日 10点09分 3
getApplicationContext不香吗
2021年03月10日 13点03分
level 7
全局变量是所有方法都能访问和修改的,只要它不是final修饰的,它的主要作用是方法之间传递变量信息。
2020年09月19日 22点09分 6
解释得很清楚,[乖][乖][真棒][真棒][真棒][勉强][勉强][勉强]楼楼懂了,感谢大佬!
2020年09月20日 03点09分
level 1
你家的牛,只有你家可以用,村集体的牛,村里人都可以用!
2020年10月16日 03点10分 8
1