Marker interface pattern: Difference between revisions

Content deleted Content added
m Reorder 'Further reading' section
Citation bot (talk | contribs)
Alter: title. Add: edition. | Use this bot. Report bugs. | Suggested by Whoop whoop pull up | #UCB_webform 172/1169
Line 6:
| last = Bloch
| first = Joshua
| title = Effective Java (Second edition)
| page = [https://archive.org/details/effectivejava00bloc_0/page/179 179]
| chapter = Item 37: Use marker interfaces to define types
Line 14:
| chapter-url-access = registration
| chapter-url = https://archive.org/details/effectivejava00bloc_0/page/179
| edition = Second
}}</ref> (also called '''tagging interface''') which is an empty interface,<ref>{{Cite web |date=2017-03-06 |title=Marker interface in Java |url=https://www.geeksforgeeks.org/marker-interface-java/ |access-date=2022-05-01 |website=GeeksforGeeks |language=en-us}}</ref> and methods that interact with instances of that class test for the existence of the interface. Whereas a typical [[interface (computer science)|interface]] specifies functionality (in the form of method declarations) that an implementing class must support, a marker interface need not do so. The mere presence of such an interface indicates specific behavior on the part of the implementing class. Hybrid interfaces, which both act as markers and specify required methods, are possible but may prove confusing if improperly used.