Talk:Marker interface pattern
From Wikipedia, the free encyclopedia
Maybe a bit offtopic, but I do not see the point having the clone() method in Object and a seperate interface making a call to clone "valid". Where is the advantage over letting Clonable have (is this correct english?) a method clone() (making this a non-marker interface) or is this for historical reasons? :) A better example for a marker interface would be appreciated.
- I agree. It's exactly what I thought when I read the article. Alf Boggis (talk) 14:26, 8 November 2005 (UTC)
That's because it isn't why Cloneable exists. Nowhere do the docs say that Cloneable "indicates that the cloning functionality is actually supported in a proper manner". In fact, they're very specific about why Cloneable is used, and that it gives specific information to Object.clone().
Will be editing the article once I figure out Wikipedia's markup (rhetorical question: why do all wikis have a different set of codes?). Serializable is a better example of a marker interface, because Java provides multiple ways to write an object.
[edit] Introduction paragraph
In the last sentence of the introduction paragraph, the statement "If none of these tests pass, the method throws NotSerializableException." is made. My knowledge of java isn't that strong, but should it be "If any of these tests fail, the method throws NotSerializableException."? --WikiWizard (talk) 00:29, 26 March 2008 (UTC)
[edit] Further clarification needed
I think a further clarification should be added why an interface is defined to be a marker interface. For instance, it is not clear to every reader
- why the
Serializable
interface does not have aserialize(…)
and adeserialize(…)
method, say, so that all the "marked" classes have the same methods for the same task, and - why
JavaBeans
are not using a marker interface to mark them as beans as such in a conspicious way.