The integration of alias analysis with type information increases the precision of alias detection, especially for inheritance among classes. This paper presents a compile-time flow-sensitive context-insensitive alias analysis algorithm with type information for Java. First, we propose an aliased element representation for an object to compute aliases efficiently. Second, the algorithm computes aliases for shadowed variables by regarding constructors as functions. Third, it performs type inference for each reference variable. The inferred type information increases the precision of subsequent alias analysis by building a complete calling graph, not only for overridden methods but also for both shadowed variables and constructors. Fourth, it presents algorithms to compute aliases for each statement. As a result, the precision and efficiency of the algorithm is improved.