Granny's Programming Pearls
"inside of every large program is a small program struggling to get out"
JavaRanch.com/granny.jsp
The moose likes Beginning Java and the fly likes Reg : marker interface Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Beginning Java
Bookmark "Reg : marker interface" Watch "Reg : marker interface" New topic
Author

Reg : marker interface

chennai Kumar
Ranch Hand

Joined: Jun 04, 2005
Posts: 72
Hai all,

i faced the following question in interview panel. Please answer the following question.

Question : What is the need of marker interface?

My Ans : Marker Interface has no methods like serializable, clonable.
we don't want to override any methods JVM will take care.

Question :
If the abstract class has method declaration no implementation method.So What is need of that abstract class.


Question: Which Collection class can you used to store different type of object(like other collection object, java bean object,and other objects)


Question: if you not to synchronization the shared object what will be the impact in real time

Thanks in advance,
Abiramkumar.P
Brij Garg
Ranch Hand

Joined: Apr 29, 2008
Posts: 234
Marker Interface question:-

It is just a indication to compiler to treat the objects implementing marker interface differently.

what special treatment compiler gives is not the programmers business.

Abstract Class question:-

Abstract class forces the classes (extending abstract class) to have their own implementation of the methods.

Collection question:-

All collections without generics.

Synchronization question:-

We can face dirty read problem .
Simple example :-
take Air Ticketing System.

Two agents:- working at the same time.
one agent checks number of available tickets to a flight A. say ticket available is 1.
second agent also checked tickets for same flight and find available ticket is 1.

Mean while first agent booked the ticket.
Now no ticlet is available. But second agent thinks still 1 ticket is available.
Joanne Neal
Rancher

Joined: Aug 05, 2005
Posts: 3426
    
  12
Originally posted by bittoo garg:
Marker Interface question:-

It is just a indication to compiler to treat the objects implementing marker interface differently.

what special treatment compiler gives is not the programmers business.


The compiler doesn't treat marker interfaces any differently to any other interface.
There are marker interfaces in the standard API which indicate to the JVM/standard library code that certain things can be done to an object. Examples include the Cloneable and Serializable interfaces.

But it is also possible to create your own marker interfaces and in this case you would also have to write the code that made use of the fact that a given class implemented the interface. This is usually done using the instanceof keyword.


Joanne
chennai Kumar
Ranch Hand

Joined: Jun 04, 2005
Posts: 72
Hai all,

Marker Interface question:-

JVM will take care of some operation we dont want to worry.

Collection question:-

i told that arraylist has stored different collection object, but when you reterive we have to do manually casting.

Synchronization question:-

Transaction will impact(overhead).

I answerd like this, but intervier not satisfied. he expecting more.

another question is regarding vector.

In vector, compare to arrylist other than synchronized what is the different.
Brij Garg
Ranch Hand

Joined: Apr 29, 2008
Posts: 234
Thanks Joanne. After reading your reply and going thru google, i got few things about marker interface.These are......

Classes that imlpements marker interfaces are brought into special category class.
Marker interfce does not add any functionality to the class.
It just mark the class that if class want to perform thing A then it should be marked with MarkerA, if class want to perform thing B then it should be marked with MarkerB.

Example:-

clone is not a method in Cloneable interface. But objects need to clone have to implement Cloneable interface.

So a category is fixed by Sun.. if you want to clone then you have to be Cloneable.
purpose of doing this is not clear ???


We can create our own Marker interfaces....

say... A store has brands of different countries A,B,C.....

brands of country A have been tagged with COUNTRY_A marker.
brands of country B have been marked with COUNTRY_B marker.

so that it is easy to identify brands county wise.
Joanne Neal
Rancher

Joined: Aug 05, 2005
Posts: 3426
    
  12
Originally posted by bittoo garg:
clone is not a method in Cloneable interface. But objects need to clone have to implement Cloneable interface.

So a category is fixed by Sun.. if you want to clone then you have to be Cloneable.
purpose of doing this is not clear ???


The merits of doing it this way are often debated on various Java forums. I'm of the opinion that it's highly unlikely it will ever be changed, so the reasons for doing it this way are not worth worrying about - you just have to live with it.
Apart from that I think your summary sounds okay.
Brij Garg
Ranch Hand

Joined: Apr 29, 2008
Posts: 234
Hi Abiram,

What was your answer to this

In vector, compare to arrylist other than synchronized what is the different.


I dont think there is any other difference.
ArrayList also implementd RandomAccess Interface (java 1.5)
Campbell Ritchie
Sheriff

Joined: Oct 13, 2005
Posts: 38004
    
  22
Go and find a Java1.4 API website, and you find that most classes in the Collections Framework would hold java.lang.Object, ie any kind of class you can think of. As you said, classcasts were needed, which are notoriously error-prone.
chennai Kumar
Ranch Hand

Joined: Jun 04, 2005
Posts: 72
hai bittoo garg ,

ya, now Arraylist we can make it synchronize now using of

collectionutils.synchronizedList(list);

so i dont know what to answer.

Thanks
 
It is sorta covered in the JavaRanch Style Guide.
 
subject: Reg : marker interface
 
Similar Threads
What is the need for marker interface ?
Abstract definition & Interface
Difference between Interfaces and abstract classes
interview question
Difference between abstract class and interface