Login | Register   
LinkedIn
Google+
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


Tip of the Day
Language: Java
Expertise: Intermediate
Apr 7, 1999

Deprecating Classes and Methods

It's often desirable to replace a class or method with one that provides similar or identical functionality. This could be because the implementation has been improved, or simply because a more intuitive name is desired. However, when the change affects other programmers, it might not be convenient for them to migrate all their code to use the new class or method immediately. As a result, it's helpful to have a mechanism for identifying code that should be avoided and could be eliminated in the future. Java's @deprecated tag serves this function.

The @deprecated tag is placed within the javadoc-style comments for a class or method, and actually serves two purposes. First, it provides a visual cue within the comments to notify programmers that the construct it is associated with should be avoided. Second, it is detected by Java compilers, which can issue a warning message when encountering a reference to the deprecated class or method. In this example, the name() method has been deprecated and effectively replaced by getName():

 
	private String name;

	/**
	 *	Returns the name associated with this instance
	 *	@return		Name associated with this instance
	 *	@deprecated
	 *	@see	getName()
	 */
	public String name() {
		return name;
	}  //  public String name()

	/**
	 *	Returns the name associated with this instance
	 *	@return		Name associated with this instance
	 */
	public String getName() {
		return name;
	}
Notice that the name() method still exists and will function, so any code that calls it won't break. However, references to it will be flagged with a warning message when they are compiled, at which point it is the programmer's responsibility to identify the replacement (in this case the getName() method identified by the @see tag) and make the appropriate changes when feasible.
Brett Spell
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap
Thanks for your registration, follow us on our social networks to keep up-to-date