首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

关于变量的有关问题!

2011-12-29 
关于变量的问题!!我想问一下第一个变量VB,为什么不会和其他方法里的变量vb冲突呢!!Java codepublic class

关于变量的问题!!
我想问一下第一个变量VB,为什么不会和其他方法里的变量vb冲突呢!!

Java code
public class Type {    /**     * @param args     */    public static void main(String[] args) {            int vb=5;        mm();        mm01();        System.out.println(vb+mm()+mm01());    }        private static void p(Object o){                System.out.println(o);            }        private static int mm(){        int vb=3;        p(vb);        return vb;    }    private static int mm01(){        int vb=4;        p(vb);        return vb;    }    }


[解决办法]
晕,我以为你说会呢,害我在那使尽找错.
你的VB只在它声明的方法里有作用,跟其它方法没关系
[解决办法]
看变量的作用域只在块中,所谓的块就是指 { } 包起来的代码段。

出了自己的作用域变量就会消失,所引用的对象就有可能会被垃圾回收器进行内存回收处理。
[解决办法]
vb是一个局部变量,它的作用域只在声明它的代码块里有效,
出了这个区域,它将不可视。
此题的vb这个变量都是在方法里声明的,各个方法是彼此独立的,
所以这样在多个方法中创建同一个变量是可以的,你还可以再声明一个
全局的vb变量也是没有问题的。因为在执行方法时,方法里的vb变量将
把全局变量屏蔽掉。
[解决办法]
你在 mm()这个方法里定义了vb 是这个方法(mm())的变量
同理mm01()这个方法里的vb也是 mm01()这个方法的方法变量
同理main函数里的vb也在它的那个范围有效,所以他们3个是不会冲突的
这个是变量的作用域的知识

[解决办法]
就跟IP地址一样``在家里的局域网里`机器的IP为192.168.1.100 公司里电脑的IP也是192.168.1.100 .你不关电脑去上班.到公司的时候再开电脑的时候,ip不会发生冲突.与这同一个道理```

```他们互相都看不见对方``当然不会有冲突``
[解决办法]
全局变量 和 局部变量

int i = 0;

for(int i = 0; i < 3; i++){

}

热点排行