2014-06-10 3 views
0

OCA 레벨 1 준비를 위해 덤프를 진행할 때 답변을 모르는 질문이 하나있었습니다.공식 및 실제 인수

메서드가 세 개의 인수로 정의 된 경우 두 개의 인수로이 메서드를 사용하면 세 번째 인수는 기본적으로 null이됩니까?

a. 예

b. NO 코드 값은 4, 6을 갖 상기 코드

class overload{ 
    int ovlDemo (int a , int b, int c){ 
     System.out.println("hi"+ a+""+ b); 
     return a+b; 
    } 
} 
class EJava5{ 
    public static void main (String args[]){ 
     overload ab= new overload(); 
     ab.ovlDemo(4,6,9); 
    } 
} 

9
.................. EDIT 없다 .... ...............

그러나이 코드는 ab.ovlDemo에 int c 값이 전달되지 않으므로 컴파일 오류가 발생합니다. 그래서 난 단지 세 번째 변수가 될 것이라는 확인이 필요합니까? 가.) 널 나.) 0

class overload{ 
    int ovlDemo (int a , int b, int c){ 
     System.out.println("hi"+ a+""+ b); 
     return a+b; 
    } 
} 
class EJava5{ 
    public static void main (String args[]){ 
     overload ab= new overload(); 
     ab.ovlDemo(4,6); 
    } 
} 
+2

... * 당신이 생각하는 이유는 무엇입니까? – awksp

+0

이 상황에 맞는 코드를 작성하여 실행하고 결과를 볼 수 있습니다. – csmckelvey

+0

세 번째 인수가 null이 될 것이라고 생각합니다. – user3724519

답변

2

하는 방법은 세 개의 인수로 정의 된 경우, 당신은 세 번째 인수는 기본적으로 null이됩니다 두 개의 인수로이 방법을 사용하면? 당신이 '두 개의 인수로이 방법을 사용'하지 수 있기 때문에

말로으로

, 질문은 무의미하다. 컴파일러는 당신을 내버려 두지 않을 것입니다. 실행 시간에 도달 할 수 없으므로 런타임에서의 null-ness 문제는 발생하지 않습니다.

따라서 대답은 '아니오'이지만 주어진 이유로는 아닙니다.

관련 문제