次のようなインナークラスを含むクラスを作ったときに
staticであるmainメソッドからはインナークラスは呼べないようですが
staticからインナークラスを呼べない理屈ってどういうことでしょうか?

public class TataiseiTest
{
public TataiseiTest(){}

public static void main(String args[]){
ClassA class_a = new ClassA();
}

class ClassA{
ClassA(){};
ClassA(int i){};
public void print(){
System.out.println("ClassA.print()");
}
}
}