메신저는 현재 안드로이드 프로그래밍에 관한 책을 읽었으며 처음 장에서 Java에 대한 유용한 참조 가이드가 있습니다. 그러나 필자는 필자가 이해하지 못했던 암시 적 매개 변수에 대해 무언가를 압도했다.Java 암시 적 메소드/매개 변수?
이public class Car {
public void drive() {
System.out.println("Going down the road!");
}
}
그리고 그는이와 함께 계속된다 :
public class JoyRide {
private Car myCar;
public void park(Car auto) {
myCar = auto;
}
public Car whatsInTheGarage() {
return myCar;
}
public void letsGo() {
park(new Ragtop()); // Ragtop is a subclass of Car, but nevermind this.
whatsInTheGarage().drive(); // This is the core of the question.
}
}
난 그냥 우리가 클래스 자동차에서 드라이브()를 호출 할 수있는 방법을 알고 싶어
그는 클래스 자동차을 정의JoyRide은 자동차의 확장명이 아닙니다. 그것은 whatsInTheGarage() 메소드가 차 타입이므로, "어떻게 든"그 클래스로부터 상속을 받기 때문입니까?
감사합니다.
whatsInTheGarage().drive();
속기로이에 대한 :
Java가 C와 유사한 언어라고 말하지 않습니다. –
@AshBurlaczenko : 구문에 대해 말하고 있었는데, C, C++, C#, Java, JavaScript 같은 언어를 의미했습니다 ... - 명확히 할 것입니다 –
그래서 그 뜻입니다. Car 유형의 myCar가 whatsInTheGarage에서 반환되므로 반환 된 값에서 Car 유형의 메서드를 호출 할 수 있습니다 ..? 하지만 이해가 안되네요. 차라리 물건을 돌려주는 것도 아니고, 당신의 예에서는 돌려 보내지도 않았습니다. 차의 인스턴스입니다. 차의 변수 일뿐입니다. – yackyackyack