В С# статический класс - это класс, который, помимо ненасыщенного наследования, может иметь любой тип члена типа, который может иметь обычный класс, за исключением членов экземпляра.
Не так уверен, как статические классы работают в java, но на основе ограниченного количества Java-кода, который я видел, мне ясно, что они не работают совершенно одинаково.
Может кто-нибудь может подсчитать различия?