public class Main {
public static void main(String[] args) {
System.out.println(Utensil.NAME + Dessert.NAME);
}
}
// Utensil.java
class Utensil {
static final String NAME = "pan";
}
class Dessert {
static final String NAME = "cake";
}
// Dessert.java
class Utensil {
static final String NAME = "pot";
}
class Dessert {
static final String NAME = "pie";
}
두 클래스가 한 파일(Dessert.java)에 정의되었다.
Main.java를 컴파일 > Utensil.java 확인 > Dessert.java 에러 : 같은 클래스 정의 존재 확인
컴파일러에게 어떤 소스 파일을 먼저 주냐에 따라 pancake나 potpie로 출력 결과가 달라진다.
public class Test {
public static void main(String[] args) {
System.out.println(Utensil.NAME + Dessert.NAME);
}
private static class Utensil {
static final String NAME = "pan";
}
private static class Dessert {
static final String NAME = "cake";
}
}
Reference: