은 문자열과 같은 내장 클래스를 미행하는 클래스를 감안할 때. 왜 그런가요?클래스 이름을 String으로 정의하면 어떻게됩니까?</p> <pre><code>class String { public static void main(String[] args) { } } </code></pre> <p>문자열 키워드 아니지만, 여전히, 위의 프로그램은 런타임 오류를 제공합니다 :
답변
나쁜 일이 발생 : 당신은 자바의 문자열의 정규화 된 이름을 사용하여이 문제를 방지 할 수 있습니다
public static void main(String[] args) {
}
: 전체 수식 명
java.lang.String
그것은
예를 들어 당신이 작성한 코드입니다 .. 당신의 하나의 정의를 가리 킵니다 이외의 "일반 문자열"을 참조하는 경우
그건 당신이 응용 프로그램의 진입 점은 발견되지 않을 것이기 때문에, 다음 컴파일러가 불평 할 수있는 유일한 클래스 인 경우 ...
당신이public static void main(java.lang.String[] args) {
}
을 수행하여 명시 적으로 인수를 정의해야합니다
이것은 Java Lang의 클래스를 가져올 필요가 없기 때문에 코드를주의 깊게 작성해야하며 매우 오류가 발생하기 때문에 목을 부러 뜨리는 아주 좋은 함정입니다.
코드 컴파일하지만 괜찮은 코드 분석기에서는 많은 불만을 제기하고 제안의 이름을 바꿉니다. 의 ..
내가 ...
이유는 프로그램의 진입 점이라는 점에서 main
메서드가 '특별'이기 때문입니다. 프로그램의 인수는 String 클래스가 아닌 Java의 java.lang.String
의 변수 번호를 갖도록 지정됩니다. String 클래스는 현재 클래스와 가장 비슷한 클래스이므로 Java는 JVM이 Java String을 예상 할 때 main
인수에서 String 클래스를 사용하므로 오류가 발생합니다. 모든 선언 된 개체를 사용해야합니다 즉, 당신이 이름을 당신이 java.lang.String
클래스 을 미행하는문자열로 클래스를 정의 할 때
public static void main(java.lang.String[] args) {
...
}
그래서 사용자 정의 String 클래스가 Libraray String 클래스보다 우선 순위가 높습니까? –
예, 현재 클래스 인 @NickSilicon과 가장 가까운 클래스이기 때문에 – Li357
- 1. Map <String, Class <? 확장
- 2. `public static <T> void main (String [] args)`이 의미하는 것은 무엇입니까?
- 3. public static void main (String args [])
- 4. 쉼표가없는 속성 oneliner는 무엇입니까?</p> <pre><code>[Serializable Obsolete] class Program { static void Main(string[] args) { } } </code></pre> <p>공지 쉼표가 직렬화 및 사용되지 않는 사이에 누락되었습니다
- 5. 오류 : 연산자 <<와 일치하지 않습니다. << ((const Args *))>> Args :: getArgL()
- 6. HashMap <String, List <Class>>
- 7. <<< EOT
- 8. 스위프트 : 나는</p> <pre><code>public class A: NSObject { public class X { } public init?(x: X? = nil) { } } </code></pre> <p>을 모두 괜찮 선언하면 기본 매개 변수
- 9. Eclipse에서 "{"와 "}"이 같은 줄에 있고 자동 완성 기능을 정의하는 옵션은 어디에 있습니까?</p> <pre><code>public static void main(String[] args) { } </code></pre> <p>대신 :
- 10. 자바 - 재주문지도 <문자열, 목록 <String>>
- 11. 목록 <string>을 문자열 배열
- 12. 두지도를 로컬에서 동기화하는 방법은 무엇입니까?</p> <pre><code>class Test{ static Map a = new ... static Map b = new ... public void process(){ ... a.put(...); b.put(...); } } </code></pre> <p>예를 들어
- 13. Return Dictionary <string, string> 또는 IEnumerable <KeyValuePair <string, string >>
- 14. 연산자 << : std :: cout << i << (i << 1);
- 15. github add <<<<<<< HEAD
- 16. String으로 ArrayList를 <String> 캐스팅 []
- 17. 나는이 숫자인지 여부를 확인하기 위해 두 가지 방법,</p> <pre><code>public static int reverse(int number) </code></pre> <p>및</p> <pre><code>public static boolean isPalindrome(int number) </code></pre> <p>내가 그들을 준비해야이 숫자는 위와 같이 회문
- 18. <String> to String
- 19. 내가 클래스</p> <pre><code>[Table("Member")] public class Member { [Key] public int id; public string name; } </code></pre> <p>이이 클래스는 DB의 테이블로 정의됩니다 DB
- 20. 는 어떻게 JRuby를을 learing 그리고 난 지금 내가 <code>runnable jar</code>으로이 프로젝트를 수출하고 내 일식</p> <pre><code>public class Test { public Test() { System.out.print("object created"); } public static void main(String args[]) {} } </code></pre> <p>코드를 다음 한 JRuby를
- 21. Heredoc <<< 또는 <<?
- 22. 프로그램은 내가 인터페이스가 <code>abc</code></p> <pre><code>public interface abc { void start(); } </code></pre> <p>라는 이름의 한 인터페이스
- 23. 내가 그런 인터페이스</p> <pre><code>public interface ILoggerService { void Info(string message); void Warn(string message); } </code></pre> <p>이
- 24. For Each Loop, Map <String, Map <String, List <String> >>
- 25. <문자열, ArrayList를 <Users>> 또는 HashMap의 <문자열, HashSet의 <Users>>
- 26. 목록 만들기 <string> 사전에서 <string, string>
- 27. 정의 연산자 << 내부 클래스
- 28. 어떻게 문자열 [] <String>
- 29. 은 HashMap의 <문자열, 목록 <String>>에의 HashMap <문자열, 문자열> 변환()
- 30. 장고 템플릿 : 장고 템플릿</p> <pre><code>{% for class in "red", "green", "blue" %} <div class="{{ class }}"></div> {% endfor %} </code></pre> <p>: 클래스/문자열
음을 너무 그런 식으로 따를 것이며,의 standart 자바 클래스처럼 클래스의 이름을 결코 제안, 오류가 무엇입니까 ??? – OldProgrammer
String은 이미 클래스의 이름입니다. String 클래스 나에게이 클래스를 재정의하려는 것으로 가정합니다. –
@OldProgrammer 오류입니다 : Error : Main 메서드를 클래스 String에 찾을 수 없습니다. 기본 메서드를 다음과 같이 정의하십시오. public static void main (String [] args) 또는 JavaFX 응용 프로그램 클래스는 javafx.application.Application을 확장해야합니다. –