|      | Start of Tutorial > Start of Trail > Start of Lesson | Search Feedback Form | 
 
With programmers worldwide writing classes, interfaces, enums, and annotations using the Java programming language, it is likely that two programmers will use the same name for two different classes. In fact, the previous example does just that: It defines aRectangleclass when there is already aRectangleclass in thejava.awtpackage. Still, the compiler allows both classes to have the same name. Why? Because they are in different packages, and the fully qualified name of each class includes the package name. That is, the fully qualified name of theRectangleclass in thegraphicspackage isgraphics.Rectangle, and the fully qualified name of theRectangleclass in thejava.awtpackage isjava.awt.Rectangle.This generally works just fine unless two independent programmers use the same name for their packages. What prevents this problem? Convention.
By Convention: Companies use their reversed Internet domain name in their package names (for example,com.company.package). Name collisions that occur within a single company need to be handled by convention within that company, perhaps by including the region or the project name after the company name (for example,com.company.region.package).In some cases, the internet domain name may not be a valid package name. This can occur if the domain name contains a hyphen or other special character, if the package name begins with a digit or other character that is illegal to use as the beginning of a Java name, or if the package name contains a reserved Java keyword, such as "int". In this event, the suggested convention is to use an underscore. For example:
Domain name Package name clipart-open.org org.clipart_open free.fonts.int int_.fonts.free poetry.7days.com com._7days.poetry 
 
|      | Start of Tutorial > Start of Trail > Start of Lesson | Search Feedback Form | 
Copyright 1995-2005 Sun Microsystems, Inc. All rights reserved.