add 및 GetContentPane은 메서드입니다.중첩 된 메서드
이 코드는 메서드의 메서드에 액세스합니까? 이 코드는 무엇을합니까?
frame.getContentPane(). add (BorderLayout.SOUTH, b);
add 및 GetContentPane은 메서드입니다.중첩 된 메서드
이 코드는 메서드의 메서드에 액세스합니까? 이 코드는 무엇을합니까?
frame.getContentPane(). add (BorderLayout.SOUTH, b);
메서드는 개체를 반환 할 수 있습니다. 그리고 그 객체에 대한 메소드를 호출 할 수 있습니다.
로컬 기능을 지원하는 언어가 있습니다. 그러나 그것들은 바깥에서 보이지 않습니다.
getContentPane()은 Container를 반환하고 add는 Container 클래스의 메서드 중 하나입니다.
그래서 frame.getContentPane()을 수행하면 컨테이너 객체가 반환되고 그 객체에 대한 add 메소드가 호출됩니다. 이어서
public class A {
public A f1() {
//Do something.
return this;
}
public A f2() {
//Do something.
return this;
}
: 도시되는 코드에
A var = new A();
var.f1().f2().f1();
, 그것을하지 않는 "중첩 방법", 그러나 다른 방법에서 리턴 된 객체에 호출되는 방법이다. (그냥 정보, Java 프로그램 언어의 중첩 방법의 개념이 없습니다.)
다음 줄 :
Container c = f.getContentPane();
c.add(component);
보다는 :
f.getContentPane().add(component);
가 동일하다 두 문장을 두 줄로 분리하는 첫 번째 예제에서는 한 줄로 그 문장을 수행합니다.
개념적으로,이 벌어지고있는 것입니다 :
f.getContentPane
방법은 Container
을 반환합니다.add
메서드는 반환 된 Container
에서 호출됩니다.그것은 일부 영상이하는 데 도움이 될 수 있습니다 :
f.getContentPane().add(component); |________________| L returns a Container object. [Container object].add(component); |________________________________| L adds "component" to the Container.
이 대체 수학에서 작동하는 방법과는 달리 너무 아니다 - 표현식의 결과 표현식 평가를 계속하는 데 사용됩니다
(8 * 2) + 4 |_____| L 8 * 2 = 16. Let's substitute that. 16 + 4 |____| L 16 + 4 = 20. Let's substitute that. 20 -- Result.을