0
我想使用組合來分解功能,但不知道如何引用回「封裝」類(不知道什麼是級別在構圖中被稱爲)。這是一個人爲的例子,身體可以看到腿部方法,但腿部看不到身體方法。我是否必須更改訪問修飾符或以不同的方式實例化?提前致謝。如何從「has-a」(包含)類訪問「容器」方法
public class Body {
private Leg leg;
public Body() {
leg = new Leg();
}
public void takeStep() {
leg.move();
}
public Boolean isStanding() {
return true;
}
public static void main(String[] args) {
Body body = new Body();
body.takeStep();
}
}
``
public class Leg {
public void move() {
if(body.isStanding()) // PROBLEM: no access to body
; // <extend details>
}
}
我想你也可以嘗試像公共無效takeStep(){ \t如果(isStanding() ) \t \t leg.move(); } – upog
'body'是'main'方法的**局部**變量。在方法之外無法看到它。 –