回 帖 发 新 帖 刷新版面

主题:我刚学JAVA 看到这种getXXX() setXXX()代码我就晕,

我刚学JAVA 看到这种getXXX() setXXX()代码我就晕, 
比如下面的这个灯的例子,为什么不断的出现类似 
public void setCircuit(Circuit circuit){ 
this.circuit = circuit; 


这样的句子?哥哥们帮我一把,最好能给我一个通俗易懂的解释,另外告诉我他们的作用以后顺便帮我讲一下他们的工作流程,多谢多谢 


这是Bulb 类: 
package lamp; 

public class Bulb { 
private Circuit circuit; 

public void setCircuit(Circuit circuit){ 
this.circuit = circuit; 



public void light() { 
circuit.transportPower(); 



public void goOut() { 
System.out.println("go out"); 



这是Circuit 类 
package lamp; 

public class Circuit { 
private Bulb bulb; 

public void setBulb(Bulb bulb){ 
this.bulb = bulb; 



public void switchOn() { 
bulb.light(); 



public void switchOff() { 
bulb.goOut(); 


public void transportPower() { 
System.out.println("transport power"); 



这是ReadingLamp类 
package lamp; 

public class ReadingLamp { 
private Bulb bulb; 

private Circuit circuit; 

public ReadingLamp(Bulb bulb, Circuit circuit) { 
this.bulb = bulb; 
this.circuit = circuit; 
bulb.setCircuit(circuit); 
circuit.setBulb(bulb); 


public void setBulb(Bulb bulb) { 
this.bulb = bulb; 
bulb.setCircuit(circuit); 
circuit.setBulb(bulb); 


public void on() { 
circuit.switchOn(); 


public void off() { 
circuit.switchOff(); 


public static void main(String[] args) { 
Bulb bulb = new Bulb(); 
Circuit circuit = new Circuit(); 
ReadingLamp lamp = new ReadingLamp(bulb, circuit); 
lamp.on(); 
lamp.off(); 

}

回复列表 (共7个回复)

沙发

发错了,多发了几遍,请版主删除这个帖子

板凳

public void setCircuit(Circuit circuit){ 
this.circuit = circuit; 

}

public 意思是共用 即其他类能call她
void 方法的返回 void是不返回任何东西
setCurcuit是方法的名字 你喜欢的话可以改成任何规范名字 例如abdsiasnefhgiufebneifvweyfvbi
(XXXXXXX xxxxxx)括号内是arguments 前面是object类 后面是名字 名字随便任何一个规范名字即可
this.circuit = circuit;  类的circuiT换成argument内的circuit
这是最基本的 学不会就别想使得了java

3 楼

把变量封装到类内部,使用private关键字修饰,可以隐藏实现的细节,以便让使用类的人不知道具体实现的过程。而对外界来说,private变量不能被访问到,所以提供了这样的访问器和修改器来提供这样的接口。

4 楼

把数据封装起来,做到 真正的面向对象编程

5 楼

set是向对象设置,get是从对象取得。看到这2个词就知道要做什么了

6 楼

getXXX() setXXX()多的java類多用於JavaBean模型..實體.

7 楼

去看看javabean吧!

我来回复

您尚未登录,请登录后再回复。点此登录或注册