求助,有个简单示例,里面有点看不懂。

ThinPro 2011-03-06 01:47:54
在一本书上看到 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
}
}
...全文
110 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
ThinPro 2011-03-06
  • 打赏
  • 举报
回复
非常感谢 各位的回答~!
chosen0ne 2011-03-06
  • 打赏
  • 举报
回复
是印刷错误,
方法声明的是形参,传入方法的实参。
t.就是调用对象t的方法或属性
magicluo 2011-03-06
  • 打赏
  • 举报
回复
t.add(t.x); //类似这样带“t.”的结构,是不是可以理解为“对象t的……”括号里面是实参?不明白

因为 对象的x属性是包访问级别的 ,所以对象直接 .x 就可以访问到了 ,因为是int基本类型,这里是传递的值参,非引用参数。
magicluo 2011-03-06
  • 打赏
  • 举报
回复



//这里是声明一个类,不该 有括号,印刷错误 -_-#
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
}
}
kebin0001 2011-03-06
  • 打赏
  • 举报
回复
1. 印刷错误
2. 用"的"來解釋也差不多。t的add方法 傳入 t的x

62,616

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧