2014-05-14 8 views
0

아래의 예제 코드에서 Test 클래스의 Test() 생성자는 public이지만 Test 클래스 자체는 public이 아니므로 Test() 생성자는 자체 패키지 외부에서 호출 될 수 없습니다.기본 액세스 권한이있는 클래스에 public 멤버가 포함되어 있으면 javac가 경고를 표시하지 않습니다.

공용 키워드가 중복 되나요? 그렇다면 액세스가 암시 적으로 기본값 ("패키지 개인")으로 선언 된 클래스에서 javac가 공용의 중복 사용에 대한 경고를 표시하지 않는 이유가 궁금합니다.

Test.java, 패키지 테스트 - 주요

package test; 
class Test { 
    public Test() {} 
} 

Main.java, 패키지 -

package main; 
class Main { 
    public static void main(String[] args) { 
     new test.Test(); // Expected error 
    } 
} 

편집 :

것은 그냥 명확하게하기 위해 : 나는 테스트를 컴파일 할 때입니다 .java, 나는 경고를 얻지 못한다.

+0

정말요? 그것은 나에게 오류를 보이고 있었다. –

+0

@eRRor 404, 나는 Test.java를 컴파일 할 때 경고 메시지를받지 않도록 O.P.를 편집했습니다. – user2911290

+0

IDE를 사용하고 있습니까? – TheLostMind

답변

0

내 원래 게시물에 대한 사용자 의견은이 문제를 해결하는 데 도움이되었습니다. 이제 IDE가 나에게 정보를 제공하고 javac만을 사용한다는 사실을 알게되었습니다. 감사.