标题:超级新手 求解答
只看楼主
xz842266736
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2014-5-30
结帖率:100%
 问题点数:0 回复次数:3 
超级新手 求解答
这是两个源文件,
public class Battery{
int electricityAmount;
Battery(int amount){
electricityAmount=amount;
}
}

public class Radio {
void openRadio (Battery battery){  这里为可以直接声明对象?
battery.electrictyAmount=battery.electricityAmount-10;而这里不要分配变量就可以使用变量吗?
}
}
搜索更多相关主题的帖子: battery Battery public amount 源文件 
2014-10-03 16:21
日知己所无
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:38
帖 子:427
专家分:2071
注 册:2014-3-22
得分:0 
程序代码:
package thread_436833_1_1;

/** Main.java */
public class Main {

    public static void main(String[] args) {
        Battery battery = new Battery(100);
        Radio radio = new Radio();
        System.out.println(battery.electricityAmount);
        radio.openRadio(battery);
        System.out.println(battery.electricityAmount);
    }

}


程序代码:
package thread_436833_1_1;

/** Battery.java */
public class Battery {
    int electricityAmount;

    Battery(int amount) {
        electricityAmount = amount;
    }
}


程序代码:
package thread_436833_1_1;

/** Radio.java */
public class Radio {
    void openRadio(Battery battery) { // 这里为可以直接声明对象?
        battery.electricityAmount = battery.electricityAmount - 10; // 而这里不要分配变量就可以使用变量吗?
    }
}


运行结果:
100
90
2014-10-03 23:04
日知己所无
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:38
帖 子:427
专家分:2071
注 册:2014-3-22
得分:0 
// 这里为可以直接声明对象?

由于Radio.java和Battery.java在同一个包当中,所以它们之间是相互可见的
openRadio(Battery battery)应该理解为:
我们定义了一个方法,它的参数是Battery类型的,仅此而已
在这里没有声明对象
需要在调用方,比如Main.java里的
Battery battery = new Battery(100);

Radio radio = new Radio();来声明(创建/new)对象

// 而这里不要分配变量就可以使用变量吗?
这里仅仅是针对形式参数进行操作、运算
运算结果都是反映到Main.java里面的battery和radio里的

如果对Java参数调用过程比较迷惑,可以看一下《Java核心技术》
2014-10-03 23:13
xz842266736
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2014-5-30
得分:0 
回复 3 楼 日知己所无
谢了
2014-10-04 16:48



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-436833-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.122791 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved