perche se io scrivo come dici tu mi vengono una marea di errori

per esempio mi appare la scritta:
codice:
class main is public, should be declared in file name main.java
perche forse pensa che dichiaro la classe main.java
poi:
codice:
cannot resolve symbol
symbol : class
location : class main
int as = 1;
poi ancora:
codice:
nam is already defined in main (lang.java.Strings)
nam = nam + as
^