在一本书上看到 java 方法的参数 在举例说明 按值传递时的一个列子:
我注释了每一句,也有提问,请帮忙看看。public class Test(){  // 书上的示例这里有的一对(),造成这一句我不清楚是声明一个类,还是方法,或者印刷错误
  int x=3;              // 声明一个整型
  public void add(int n){ //定义一个add方法,n是形参,将参数+1
    n=n+1;
  }
  public static void main(String[] args){//主程序入口
    Test t=new Test();                  //这应该是创建了一个Test类的对象t,Test类
    t.add(t.x);             //类似这样带“t.”的结构,是不是可以理解为“对象t的……”括号里面是实参?不明白   
    System.out.println(t.x);//输出结果 3 
  }
}

解决方案 »

  1.   

    1. 印刷错误
    2. 用"的"來解釋也差不多。t的add方法 傳入 t的x
      

  2.   


    //这里是声明一个类,不该 有括号,印刷错误 -_-#
    public class Test{   int x=3; // 声明一个整型属性,类访问级别
      public void add(int n){   //定义一个add方法,n是形参,将参数+1
      n=n+1;
      }
      public static void main(String[] args){
      Test t=new Test(); //这应该是创建了一个Test类的对象t
      t.add(t.x); //将t对象的公开属性x传入,这里x是基本类型,传送的是值参 
      //t.add()方法只是将值参数自增,但对x属性没有任何影响  
      System.out.println(t.x);//访问对象的的x属性  打印结果为3
      }
    }
      

  3.   

    t.add(t.x); //类似这样带“t.”的结构,是不是可以理解为“对象t的……”括号里面是实参?不明白因为 对象的x属性是包访问级别的 ,所以对象直接 .x 就可以访问到了  ,因为是int基本类型,这里是传递的值参,非引用参数。