Win a copy of Programmer's Guide to Java SE 8 Oracle Certified Associate (OCA) this week in the OCAJP forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Marker Interface purpose

 
rex tony
Ranch Hand
Posts: 159
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Marker Interface is the empty interface.What is their purpose?
 
Kelvin Chenhao Lim
Ranch Hand
Posts: 513
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Basically, marker interfaces are used to indicate that a class supports a special Java language functionality, but (unlike normal interfaces) this functionality isn't expressed solely through its method definitions.

Prior to Java 1.5, there was no way to describe a class's properties beyond the standard modifiers (public, private, etc), so marker interfaces were used for this purpose. Admittedly, it does feel a bit like a hack, because it's seems strange that Java assigns special meanings to a few interfaces (java.io.Serializable, java.lang.Cloneable, java.rmi.Remote, etc). Java 1.5 introduced annotations, which (in my opinion) would have been a far better mechanism for these purposes, if annotations had existed when Java was first released.
 
Ulf Dittmer
Rancher
Posts: 42968
73
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
This question was asked just yesterday; see here for the answer.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic