액세스 한정자를 더 잘 이해하기 위해 일부 코드를 사용하려고했습니다. Could not find or load main class DemoClass1
모든 클래스가 같은 디렉토리와 같은 패키지에 속하는 : 나는 코드예기치 않은 런타임 오류 : 기본 클래스를로드 할 수 없습니다.
class SomeClass2 {
protected static void method4() { }
protected static int x=0;
}
class SomeClass3 extends SomeClass2{
int c=SomeClass2.x;
public void somemethod() //Everything was compiling fine until
{ //Until I added this method
SomeClass2.method4();
}
}
class DemoClass1{
public static void main(String[] parameters) {
SomeClass2 sc = new SomeClass2();
SomeClass3 sc1 = new SomeClass3();
sc.method4();
System.out.println(sc1.c);
sc1.somemethod();
}
}
I 오류가 점점 오전의 강행 한 줄을 추가 한 후 모든 훌륭한 실행했다. 환경 변수도 모두 설정됩니다. somemethod()
을 추가 할 때까지는 컴파일 및 실행 중이었습니다. 그것은 잘 컴파일하지만 실행되지 않습니다.
어떨까요? 이식? 나는 당신의 코드를 복사하고 잘 실행 된 새로운 클래스를 만들었습니다. 에러 나 아무것도 없습니다. 깨끗한 빌드를해야합니다. –
아니요 저는 메모장을 사용하여 작성하고 cmd (Windows 7)를 사용하여 컴파일했습니다. 환경 변수가 설정됩니다. 비록 내가 다른 파일 이름에 동일한 코드를 넣고 모든 클래스 이름을 변경하고 그것을 컴파일하고 괜찮 았는데 출력을 가지고 : 하지만 내 질문은 왜 이미 작동 코드에서 실행되지 않았다 –