If a type name is of the form Q. Id,then Q must be either a type name or a package name.
If Id names exactly one accessible type () that is a member of the type or package denoted by Q, then the qualified type name denotes that type.
If Id does not name a member type within Q(), or the member type named Id within Q is not accessible(), or Id names more than one member type within Q, then a compile-time error occurs.