2010-07-01 4 views
1

최근 인터뷰에 참석 한 면접관은 방법 접근 제한에 관한 질문을하고 있습니다.동일한 클래스에서 메소드 호출을 제한하려면 어떻게합니까?

Q : 3 가지 메소드 (예 : method1(), method2(), method3())를 가지고 있는데, 같은 클래스에서 3 가지 메소드를 호출하고 있지만 먼저 2 개의 메소드 만 호출해야합니다. 세 번째 메소드이므로 아무도 method3()을 호출해야합니다. 내가 어떻게 해 ?

면접자는 힌트도주었습니다 (즉, 객체 또는 참조를 사용하여). 그리고 인터뷰가 끝날 때 그는 대답이 참고라고 말했습니다.

나는 그의 질문에 혼란 스러웠다.

감사합니다, 란 지트

+1

질문을 이해하는 경우, 수업을 자체 회원에게 전화하지 못하게 할 방법이 없습니다. 아마도 그 질문을 오해했을 것입니다. –

답변

1

글쎄, 당신의 질문은 매우 명확하지 않습니다 ...하지만 method3()는 그것을 생성 한 클래스 내에서 호출해야합니다, 당신은 그냥 비공개로 할 수 있습니다.

질문하는 내용이 아닌 경우 질문을 명확히하십시오.

+0

아니요, 그 대답을 기대하지 않습니다. 아래의 예를 참조하십시오. \ n 클래스 A {\ n public void method1() {Sop ("method1");} \ n public void method2 (Sop ("method2");} \ n public void method3() { \ n \ n public static void main (String [] args) {\ n objA = new A(); \ n objA.method1(); \ n objA. method2(); \ n objA.method3(); \ n } 내 프로그램을 사용하여 method3()이 비공개인지 아닌지 잘 모르겠습니다. 하지만 그는 저에게 method3()을 부탁합니다. 나는 전화해서는 안되며, 프로그램은 그것을 허용해서는 안됩니다. 내가 여기서 무엇을해야합니까? – Ranjith

+0

누구에게도 호출 할 수없는 경우이를 사용하는 것은 무엇입니까? – picknick

+2

@Ranjith,이 예제 코드를 원래 게시물의 업데이트로 추가하십시오 - 주석을 읽는 것은 대단히 어렵습니다. –

1

인터뷰에서 공개, 보호 및 개인 액세스 수준 수정 자에 대한 Java 언어의 이해를 도출하려했는지 궁금합니다.

2

아마 그는 method1과 method 2가 정적 (즉, 기존 인스턴스에 대한 참조가 필요 없음)이어야하고 method3이 인스턴스 메소드 여야한다는 것을 의미할까요?

이 경우 객체 참조를 인스턴스화하지 않고 처음 두 메소드를 Main 내에서 호출 할 수 있습니다.

+0

예, 그가 이것을 기대할 수 있습니다, 감사합니다. – Ranjith

관련 문제