java - 함수 - 자바 클래스 메소드




Java의 main 메소드가 반환 할 수 있습니까? (4)

Q 1. java 클래스를 다음과 같이 작성할 수 있습니까? public static int main (String [] args) {

예, 할 수는 있지만 Java 클래스는 실행할 수 없습니다.

예제 수업 :

class MainTest {

        public static int main(String[] args) {
                return 1;
        }
}

실행하려고 할 때 오류 메시지가 나타납니다.

Error: Main method must return a value of type void in class MainTest, please 
define the main method as:
   public static void main(String[] args)

질문 2 : 다음 질문에 대답 할 수 없습니다. 그는 당신의 java main 메소드가 어떤 것을 리턴 할 수 있도록 프로그램을 작성하도록 요청했다.

System#exit(int) 를 사용하여 운영 체제에서 해석 할 수있는 특정 종료 코드로 프로그램을 종료 할 수 있습니다.

나는 최근에 인터뷰를 통해 코어 자바에서 두 가지 질문을합니다.

질문 1.

우리는 다음을 사용하여 자바 클래스를 작성할 수 있습니까?

public static int main(String[] args){
     System.out.println("Hello");

나는 대답했다 : 아니다. 컴파일러는 main 의 리턴 타입이 int 일 것으로 기대하고 있기 때문에 그것을 컴파일하지 않을 것이다.

질문 2 : 나는 대답 할 수 없었던 다음 질문.

Java main 메소드가 어떤 것을 리턴 할 수 있도록 프로그램을 작성하십시오.

즉, 어떻게 public static void main([] args) 을 반환 할 수 있습니까?

어떤 몸이라도 나를 도와 줄 수 있습니까?


Java main 함수에서 값을 반환 할 수 없습니다. 그러나 프로그램은 상태 코드를 반환 할 수 있습니다.

Java System.exit(45) 에서 int 상태로 종료하려면 다음을 시도하십시오.


네, main 메소드를 void가 아닌 리턴 타입으로 작성할 수 있습니다. 이것은 단순히 우리가 main 메소드를 오버로드 할 수 있음을 의미합니다. 몇 가지 예는 다음과 같습니다.

  1. public static void main(String ... x){ }
  2. public static int main(String []args){ }
  3. public static void main(string array[]){ }

그러나 컴파일러가 알 수있는 것은 여기에 유의하십시오.

public static void main(String []args){ }

위의 메서드가 없으면 컴파일되지 않습니다.


예 void 형식을 리턴 할 수 있습니다. 그러나 JVM으로 값이 갈 것이고 return () 후에 main ()을 호출하는 JVM으로 리턴 될 것이기 때문에 더 이상의 코드는 실행되지 않을 것입니다.





java