public class MethodMember
{
public static void main(String [] args)
{
MethodDemo methodDemo = new MethodDemo();
methodDemo.scopeDemo();
System.out.println(methodDemo.getData());
methodDemo.setData(100);
System.out.println(methodDemo.getData());
}
}class MethodDemo
{
private void scopeDemo()
{
int data = 100;
}public int getData()
{
return data;
}
public void setData(int data)
{
this.data = data;
}
}
刚学习java   所以常问一些白痴的问题,希望大家理解。

解决方案 »

  1.   

    MethodDemo类少个int类型的成员成员变量:data
      

  2.   

    有错的。你要先在这个MethodDemo里面定义一个data变量的。而且private void scopeDemo()
    {
    int data = 100;
    }
    这个方法里面的private不需要,有private的话,你的新建出的对象就访问不到这个方法。然后。大致修改完之后,代码是这样子:
    package cn.edu.zju.cst.bean;public class MethodMember
    {
    public static void main(String [] args)
    {
    MethodDemo methodDemo = new MethodDemo();
    methodDemo.scopeDemo();
    System.out.println(methodDemo.getData());
    methodDemo.setData(100);
    System.out.println(methodDemo.getData());
    }
    }class MethodDemo
    {
    int data=0;
    void scopeDemo()
    {
    int data = 100;
    }public int getData()
    {
    return this.data;
    }
    public void setData(int data)
    {
    this.data = data;
    }
    }
    程序输出结果是0
    100
      

  3.   


    class MethodDemo
    {
    int data; //这里创建的数据是所有类里都可以使用的。


    //如果这里是private,你在main里面有调用这个方法,那么就一定要
    //public。因为private只能在本类里调用,在其他类不行。
    public void scopeDemo()
    {
    //int data = 100; 
    //本地变量,周在这个方法里创建的它的可用范围就在这个方法里,class里是看不到的。
    //你可以在这里写int data但是这个数据不会到类里的data,他们是2个不同的变量。
    this.data = 100;
    }

    /**
    * 返回data的数值
    **/
    public int getData()
    {
    return data;
    }

    /**
    * 为data赋参数里的值
    **/
    public void setData(int data)
    {
    this.data = data;
    }
    }
    public class MethodMember
    {
    public static void main(String [] args)
    {
    //创建一个MethodDemo类的对象
    MethodDemo methodDemo = new MethodDemo();
    //调用scopeDemo方法,使其data变量赋值为100
    methodDemo.scopeDemo();
    //输出得到对象里的data然后输出
    System.out.println(methodDemo.getData());
    //调用setData方法来为data附上新的值
    methodDemo.setData(100);
    //再次输出
    System.out.println(methodDemo.getData());
    }
    }
      

  4.   

    楼上回答得已经很详细了,我稍微再补充一下:访问成员变量有两种方式,第一种是直接用变量名,第二种是用this引用,如果方法里面有同名的局部变量或形参,必须用第二种,不然访问的是局部变量或形参 /**
        * 返回data的数值
        **/
        public int getData()
        {
            return data;//没有同名局部变量,可以直接用变量名访问
        }
        
        /**
        * 为data赋参数里的值
        **/
        public void setData(int data)
        {
            this.data = data;//有同名的形参,要带上this引用
        }
      

  5.   

    设个私有的变量,通过get/set..取值