class List { T t; private List() { } static List createList() { return new List(); } } class Test { void foo (){ List x = List.createList(); List[] y = new List [10]; } }