查看: 2815|回复: 2

java实例,有些函数不是很清楚,求大神解答。

[复制链接]
发表于 2016-1-23 14:54:01 | 显示全部楼层 |阅读模式
public class ParamPass{
static class Object1{
public String QQ="小猫";

}
static void paramChange(int x,Object1 obj1){
x=18;
obj1.QQ="小狗";
}
public static void main(String args[]){
int x=28;
Object1 obj1=new Object1();
System.out.println("传递前的参数值:x="+x+"QQ="+obj1.QQ);
ParamPass.paramChange(x,obj1);
System.out.println("传递后的参数值:x="+x+" QQ="+obj1.QQ);
}
}

第一步 先跑 public static void main(String args[]){
int x=28;

第二步 public class ParamPass{
static class Object1{
public String QQ="小猫";

第三步 static void paramChange(int x,Object1 obj1){
x=18;
obj1.QQ="小狗";
}

大神可以解释下,这样子对吗
回复

使用道具 举报

发表于 2016-1-23 16:19:01 | 显示全部楼层
不是的,首先你要看的是主方法:public static void main(String args[]),
然后看定义了什么变量:int x=28;
接下来new出一个对象obj1:Object1 obj1=new Object1();
分析类描述的对象细节:
static class Object1{
public String QQ="小猫";

}
static void paramChange(int x,Object1 obj1){
x=18;
obj1.QQ="小狗";
}
最后调用对象:
System.out.println("传递前的参数值:x="+x+"QQ="+obj1.QQ);
ParamPass.paramChange(x,obj1);
System.out.println("传递后的参数值:x="+x+" QQ="+obj1.QQ);

咳咳, 刚学,希望对你有帮助。
你说的第一步第二步,这是面向过程的思想,
其实上面的的面向对象的,也有面向过程的影子
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-1-23 16:22:15 | 显示全部楼层
谢啦
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

指导单位

江苏省公安厅

江苏省通信管理局

浙江省台州刑侦支队

DEFCON GROUP 86025

旗下站点

邮箱系统

应急响应中心

红盟安全

联系我们

官方QQ群:112851260

官方邮箱:security#ihonker.org(#改成@)

官方核心成员

Archiver|手机版|小黑屋| ( 沪ICP备2021026908号 )

GMT+8, 2025-3-7 06:06 , Processed in 0.016229 second(s), 10 queries , Gzip On, MemCache On.

Powered by ihonker.com

Copyright © 2015-现在.

  • 返回顶部