메인 함수를 작성하는 일반적인 방법은 다음과 같습니다.
public static void main(String[] args){…}
이 키워드의 기능은 다음과 같습니다.
(1) 공개 키워드, 메인 함수를 공개로 선언하는 것은 다른 클래스에게 알리기 위한 것입니다. 이 기능에 액세스할 수 있다는 것입니다.
(2) static 키워드는 컴파일러에게 주 함수가 정적 함수임을 알려줍니다. 즉, main 함수의 코드는 정적 저장 영역에 저장됩니다. 즉, 이 코드는 클래스가 정의된 후에 이미 존재합니다. main() 메서드가 static 수정자를 사용하지 않으면 컴파일 오류가 발생하지 않지만, 프로그램을 실행하려고 하면 main() 메서드가 존재하지 않는다는 오류가 보고됩니다. main()을 포함하는 클래스가 인스턴스화되지 않았기 때문에(즉, 이 클래스의 객체가 없음) 해당 클래스의 main() 메서드는 존재하지 않습니다. static 한정자를 사용한다는 것은 메서드가 정적이며 인스턴스화 없이 사용할 수 있음을 의미합니다.
(3) void 키워드는 main()의 반환 값이 형식화되지 않았음을 나타냅니다.
(4) 매개변수 String[] args, 이것이 이 글의 초점입니다.
먼저, 프로그램 사용자는 명령줄 상태에서 특정 클래스에 매개변수를 전달할 수 있습니다.
아래 예를 살펴보세요.
public class ArgsDemo { public static void main(String[] args) { String str = new String(); for (int i = 0; i 《 args.length; i++) { System.out.println(args[i]); str += args[i]; } System.out.println(str); } }
javac ArgsDemo.java 명령을 사용하여 ArgsDemo.class 파일을 생성한 다음 "java ArgsDemo 매개변수 1 매개변수 2 매개변수 3..." 형식을 사용하여 매개변수를 ArgsDemo 클래스. 이 예제 프로그램은 먼저 매개변수를 출력한 다음 모든 매개변수의 합계를 출력합니다. 예를 들어 java ArgsDemo a b c의 경우 다음 출력이 표시됩니다.
a b c abc
여기서 루프 조건이 i
Exception in thread "main" java.lang.ArrayIndexOutOfBoundException:3
at ArgsDemo.main(ArgsDemo.java:5)
두 번째, 클래스에 main()을 추가할 수 있습니다. 다른 클래스에서 매개변수를 전달하려면
은 다음과 같습니다.
public class A { public static void main(String[] args) { for(int i=0;i 《 p》 System.out.println(args[i]); } } public class B { public static void main(String[] args) { c = new A(); String[] b = {“111”,“222”,“333”}; c.main(b); } }
먼저 클래스 A를 정의하고 A에 main() 함수를 정의한 후 이 함수에 매개변수 args를 출력합니다. 그런 다음 classB를 정의하고 B에서 A의 인스턴스 c를 초기화한 다음 매개변수를 c에 전달하고 c의 기본 메서드를 호출하여 전달된 매개변수 값을 인쇄합니다. 출력 결과는 다음과 같습니다.
111 222 333
main() 함수는 정적 함수이므로 인스턴스화 없이 사용할 수 있으므로 B에서도 다음 작성 방법을 사용하여 동일한 함수를 완성할 수 있습니다.
public class B { public static void main(String[] args) { //A c = new A(); String[] b = {“111”,“222”,“333”}; A.main(b); } }
위 내용은 Java에서 main 함수의 용도는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!