2013-12-11 4 views
1

void 메서드는 메서드 선언에 값이 반환되지 않음을 나타 내기 위해 void 키워드를 사용합니다. 제 질문은 유추를 사용하는 것이 아니라 차를 사용하는 방법이 아니라 두포 밑에 무엇이 있는지에 관한 것입니다. void를 실제로 지정해야하는 이유, 즉 Java가 반환 형식을 추적하는 일종의 내부 변수를 예약했는지 알고 싶습니다. 무효화 할 메소드를 설정하면 그렇게하지 않아도됩니까?Java가 무효화되는 이유는 무엇입니까?

또 다른 방법은입니다. Java가 void 키워드를 생략 할 수없는 이유를 묻는 것입니다. 반환되는 형식이 void가 아닌 경우 그 이유는 무엇입니까? Java가 반환 유형을 처리 할 수있는 방법과 관련이 있다고 생각합니다. 아마도 최적화와 관련이있을 수 있습니다 ... 자세한 내용을 사용하십시오.

+1

가능한 복제본 http://stackoverflow.com/questions/7367381/what-does-void-do-in-java –

+1

void를 생략하면 생성자가 될 수 있습니다. 단순히 생성자가 될 수 있습니다. 구문과 파서는 간단하게 유지하십시오. 모든 메소드는 아무 것도 반환하지 않더라도 반환 유형을가집니다. –

+0

소스 코드를 보면서 소스 코드를 볼 수 있습니다. 메소드에 리턴 유형이있는 이유는 Mark가 정확합니다. –

답변

1

내 대답은 추측의 비트입니다 참조하십시오. 하지만 리턴 타입을 선언하는 것을 잊어 버리지 않도록 개발자를 보호해야한다고 말하고 싶습니다. 컴파일러는 기본적으로 선언되지 않은 반환 유형을 void로 렌더링하도록 프로그래밍 할 수 있습니다. 그러나 그것은 개발자를위한 원조에 비용이들 것입니다.

또한 IDE는 동일한 것을 예상해야합니다.

2

그것의 우리가 생성자로 처리 한 후 void를 생략 할 경우에만 방법 선언

로 사용되는 자바 언어 사양 void.

THIS

+0

맙소사,이게 내가 겪었던 고통을 해결해 줬어. 이제 super를 사용할 수 있으며, 이제는 생성자에서 void를 생략하고 생략 된 이유가 super 일 때만 작동하는 이유를 이해할 수 있습니다. –

관련 문제