Почему у файла Java должно быть то же имя, что и у его открытого класса? [Дубликат]

Possible Duplicate:
Why filename in java should be same as class name?

У меня есть один файл с именемtemp.java, Я написал следующий код. Почему это работает?

<code>class demo //not public keyword and not same as filename
{
    public static void main(String []args)
    {
        System.out.println("this is Main method");
    }
}
</code>

Любой, почему это не работает?

<code>public class demo
{
    public static void main(String []args)
    {
        System.out.println("this is Main method");
    }
}
</code>

Ответы на вопрос(1)

Ваш ответ на вопрос