Win a copy of Kotlin in Action this week in the Kotlin forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic

Null Interface  RSS feed

 
Prashanth Paul
Greenhorn
Posts: 4
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi All ,
I am curious know something about the Null interface . What are they ? Can Cloneable , Serializable be called as Null interfaces ? Please let me know.
Thanks.
 
Valentin Crettaz
Gold Digger
Sheriff
Posts: 7610
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
...
A null interface is an interface with no method declaration. I don't really like this term since "null" has a special meaning in Java. I would prefer calling such an interface an "empty interface" or better a "tag interface" but not a "null interface". Maybe someone else has an idea as to why such interfaces have been called "null interfaces".
I don't know who invented that but "null interface" does not exist in the official Java terminology.
[ December 10, 2002: Message edited by: Valentin Crettaz ]
 
Manish Hatwalne
Ranch Hand
Posts: 2596
Android Firefox Browser Ubuntu
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Aren't they called Marker Interfaces?
- Manish
 
Valentin Crettaz
Gold Digger
Sheriff
Posts: 7610
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Marker and Tag are synonym in my opinion.
Wiki provides some good explanations:
Tag Interface
Marker Interface
 
Gustavo Adolpho Bonesso
Ranch Hand
Posts: 103
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Would somebody give some examples of null interfaces ?
 
shweta mathur
Ranch Hand
Posts: 109
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
RandomAccess Interface implemented by Vector class & ArrayList is a Marker Interface
 
Ashik Uzzaman
Ranch Hand
Posts: 2373
Eclipse IDE Firefox Browser Java
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Marker interface, also known as Tag interface, are like directives to the compiler without any method declaration. It is implemented in a class so that other java codes and JVM can test an object of it with "instanceof interface". java.io.Serializable, java.lang.Cloneable, java.util.EventListener, java.util.RandomAccess are marker interfaces from J2SE API that I can recall quickly.

To support with an example from the J2SE API Documentation, you'll see that Serializable is a marker interface, in its comment its written that All subtypes of a serializable class are themselves serializable.

BTW shewta, ArrayList is a concrete final class, its not an interface rather an implementation of RandomAccess marker interface.

Regards,
 
Pradeep bhatt
Ranch Hand
Posts: 8933
Firefox Browser Java Spring
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
BTW shewta, ArrayList is a concrete final class, its not an interface rather an implementation of RandomAccess marker interface.


ArrayList is not a final class.
 
Tony Morris
Ranch Hand
Posts: 1608
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
An interface containing no methods (a tag/marker interface) is poor form, however, the core API has done it, and many other, more disastrous, atrocities. You need not be so concerned with it.
 
It is sorta covered in the JavaRanch Style Guide.
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!