2011年5月6日星期五

java测试题2

package com.dengwen1;

public class X{
     private static int a;
     public static void main(String[] args){
       modify(a);
       System.out.println(a);
       }
     public static void modify(int b){
        a++;  //这里的a是类X的成员变量
       }
       }

结果:1

分析:在modify方法中的a是类X的成员变量, 在eclipse中将鼠标放到变量a上面, 可以看到他的作用域:

image

    由于a是静态的, 所以为实例以及方法所共用。所以其中的一个实例方法对它做了修改,那相对于其它的实例方法也就都已经修改。

 

那么, 如果将形参名改为a, 结果会如何呢。看截图:

333

可以看到, 这是变量a是方法中的局部变量。

那么, a++执行之后, 改变的知识局部变量, 类X中的成员变量a不会改变, 所以结果应该为0;

没有评论:

发表评论