Core Java interview questions

  1. Can there be an abstract class with no abstract methods in it? - Yes

  2. Can an Interface be final? - No
  3. Can an Interface have an inner class? - Yes.
    	public interface abc
    		static int i=0; void dd();
    		class a1
    				int j;
    			public static void main(String a1[])
    				System.out.println("in interfia");
  4. Can we define private and protected modifiers for variables in interfaces? - No
  5. What is Externalizable? - Externalizable is an Interface that extends Serializable Interface. And sends data into Streams in Compressed Format. It has two methods, writeExternal(ObjectOuput out) and readExternal(ObjectInput in)
  6. What modifiers are allowed for methods in an Interface? - Only public and abstract modifiers are allowed for methods in interfaces.
  7. What is a local, member and a class variable? - Variables declared within a method are “local” variables. Variables declared within the class i.e not within any methods are “member” variables (global variables). Variables declared within the class i.e not within any methods and are defined as “static” are class variables
  8. What are the different identifier states of a Thread? - The different identifiers of a Thread are: R - Running or runnable thread, S - Suspended thread, CW - Thread waiting on a condition variable, MW - Thread waiting on a monitor lock, MS - Thread suspended waiting on a monitor lock
  9. What are some alternatives to inheritance? - Delegation is an alternative to inheritance. Delegation means that you include an instance of another class as an instance variable, and forward messages to the instance. It is often safer than inheritance because it forces you to think about each message you forward, because the instance is of a known class, rather than a new class, and because it doesn’t force you to accept all the methods of the super class: you can provide only the methods that really make sense. On the other hand, it makes you write more code, and it is harder to re-use (because it is not a subclass).
  10. Why isn’t there operator overloading? - Because C++ has proven by example that operator overloading makes code almost impossible to maintain. In fact there very nearly wasn’t even method overloading in Java, but it was thought that this was too useful for some very basic methods like print(). Note that some of the classes like DataOutputStream have unoverloaded methods like writeInt() and writeByte().
  11. What does it mean that a method or field is “static”? - Static variables and methods are instantiated only once per class. In other words they are class variables, not instance variables. If you change the value of a static variable in a particular object, the value of that variable changes for all instances of that class. Static methods can be referenced with the name of the class rather than the name of a particular object of the class (though that works too). That’s how library methods like System.out.println() work. out is a static field in the java.lang.System class.
  12. How do I convert a numeric IP address like into a hostname like
    	String hostname = InetAddress.getByName("").getHostName();
  13. Difference between JRE/JVM/JDK?
  14. Why do threads block on I/O? - Threads block on i/o (that is enters the waiting state) so that other threads may execute while the I/O operation is performed.
  15. What is synchronization and why is it important? - With respect to multithreading, synchronization is the capability to control the access of multiple threads to shared resources. Without synchronization, it is possible for one thread to modify a shared object while another thread is in the process of using or updating that object’s value. This often leads to significant errors.
  16. Is null a keyword? - The null value is not a keyword.
  17. Which characters may be used as the second character of an identifier,but not as the first character of an identifier? - The digits 0 through 9 may not be used as the first character of an identifier but they may be used after the first character of an identifier.
  18. What modifiers may be used with an inner class that is a member of an outer class? - A (non-local) inner class may be declared as public, protected, private, static, final, or abstract.
  19. How many bits are used to represent Unicode, ASCII, UTF-16, and UTF-8 characters? - Unicode requires 16 bits and ASCII require 7 bits. Although the ASCII character set uses only 7 bits, it is usually represented as 8 bits. UTF-8 represents characters using 8, 16, and 18 bit patterns. UTF-16 uses 16-bit and larger bit patterns.
  20. What are wrapped classes? - Wrapped classes are classes that allow primitive types to be accessed as objects.
  21. What restrictions are placed on the location of a package statement within a source code file? - A package statement must appear as the first line in a source code file (excluding blank lines and comments).
  22. What is the difference between preemptive scheduling and time slicing? - Under preemptive scheduling, the highest priority task executes until it enters the waiting or dead states or a higher priority task comes into existence. Under time slicing, a task executes for a predefined slice of time and then reenters the pool of ready tasks. The scheduler then determines which task should execute next, based on priority and other factors.
  23. What is a native method? - A native method is a method that is implemented in a language other than Java.
  24. What are order of precedence and associativity, and how are they used? - Order of precedence determines the order in which operators are evaluated in expressions. Associatity determines whether an expression is evaluated left-to-right or right-to-left
  25. What is the catch or declare rule for method declarations? - If a checked exception may be thrown within the body of a method, the method must either catch the exception or declare it in its throws clause.
  26. Can an anonymous class be declared as implementing an interface and extending a class? - An anonymous class may implement an interface or extend a superclass, but may not be declared to do both.
  27. What is the range of the char type? - The range of the char type is 0 to 2^16 - 1.
This entry was posted in Java, Networking. Bookmark the permalink. Post a comment or leave a trackback: Trackback URL.

39 Comments on Core Java interview questions

  1. Ranjan
    Posted 12/11/2004 at 3:36 am | Permalink

    sir if u can help in giving me few hints for session and entity bean
    and in real life how both r used and how can i choose between them where please tell me

  2. Ajith Kannan
    Posted 5/25/2005 at 12:21 pm | Permalink

    Why variables in an interface is by default final ?

  3. saurabh Deep Kaushik
    Posted 6/16/2005 at 8:00 am | Permalink

    if we want to create servletconfig object by calling getServletConfig()
    method.Which class’s object is used to call this method.

  4. Sameh Aboelnil
    Posted 7/3/2005 at 2:36 pm | Permalink

    Why variables in an interface is by default final ?

    I Think that you can’t change any variable in the interface as you can’t create an instance of..
    So it declared as Final

  5. Posted 7/28/2005 at 1:18 pm | Permalink

    Answer 22: IMHO preemptive scheduling has something to do with the scheduler being able to suspend a running thread (i.e. preempt it), while time slicing relies on the threads to suspend themselves after having run through their slice of processor time. Time sliced schedulers have some obvious drawbacks, one of which most windows 3.x users might remember!

    My thoughts on this matter might be incorrect. Use at your own discretion!

  6. Yousuf
    Posted 9/5/2005 at 12:22 am | Permalink

    why cant we declare a local variable as public or private
    public class Test{
    public void f(){
    public/private int i = 10;

    public static void main(String args[]){
    System.out.println(”Hello World”);

    Comment: Getting compilation Error saying “Illegal Start Of Expression”
    Can anybody tell me why am i getting this error.

  7. Dinesh
    Posted 9/16/2005 at 4:08 am | Permalink

    local variable cannot have access modifiers specified at all. So there is no question fo public/private.
    This is because there is no meaning for a local variable to be public when they are local. And you dont have to tell a variable to be private if the variable cannot be accessed outside the method.

    So typically it does not make any sense.

    Posted 10/15/2005 at 4:35 am | Permalink


    What is the difference between an abstract class and Interface?

    Is it neccessary to implement all methods defined in an Interface?

  9. voleti
    Posted 10/25/2005 at 6:54 am | Permalink

    1)can we write destoryme thod inside service?

  10. afsasr
    Posted 11/16/2005 at 12:41 am | Permalink

    how to define constant variables without using final key word

  11. afsasr
    Posted 11/16/2005 at 12:43 am | Permalink

    string s=new String(100);

    how can i get s value in page first?

  12. shanmukha sarma
    Posted 11/29/2005 at 8:30 am | Permalink

    is it possible to declare an inteface inside an interface

    1.e interface a{
    inteface b{


    how to implement b interface to other classes

  13. shanmukha sarma
    Posted 11/29/2005 at 8:36 am | Permalink

    since we heave Serializable Interface why we need Externalizable.
    what is ment by more control over Serialization

  14. sarma
    Posted 11/29/2005 at 8:43 am | Permalink

    how pagenation is done in struts means i want to get ten records in each navagation click .is there any predeficed thing

  15. Nujin
    Posted 11/30/2005 at 12:35 am | Permalink

    1.Polymorphism usage & implementation
    2.ArrayList and vector List -difference
    3.Usage of abstract and Interface, finalize()- difference
    5.Protected variable - can use another package?
    6. Serialization
    7. what is synchronization
    8. ActionErrors and ActionError -difference
    9. Role of actionServlet
    10. .do where we used in struts
    11.xml- dtd? schema?
    12.writer and outputstream
    13. dynavalidationForm
    15. servlet llife cycle
    16. request and sendreDirect
    17.implicit object in jsp
    18.factorypattern usage

  16. niranjan
    Posted 3/2/2006 at 10:45 pm | Permalink

    all the methods in abstract class need not be abstract where as in interface all are abstract.
    we use keyword for the methods in abstract class where as in interface we dont use ahat keyword.
    abstract classes must have sub classes where as interfaces can’t have sub classes.
    only 1 abstract class can be extended where as more than one interface can be implemented

  17. Swati
    Posted 3/15/2006 at 4:50 pm | Permalink

    The “JDK” is the Java Development Kit. I.e., the JDK is bundle of software that you can use to develop Java based software. The “JRE” is the Java Runtime Environment. I.e., the JRE is an implementation of the Java Virtual Machine which actually executes Java programs.

    Typically, each JDK contains one (or more) JRE’s along with the various development tools like the Java source compilers, bundling and deployment tools, debuggers, development libraries, etc.

  18. Manasa
    Posted 4/24/2006 at 12:56 am | Permalink

    We r doing an online shopping webapplication by clicking alink(say cosmetics) a list of items is to be displayed &&we selected some of the items and then clicking on another link(say food) items is displayed
    The problem : clicking again cosmetics link the list of items we selected earlier is to be displayed
    please suggest me

  19. nagasrinu
    Posted 7/22/2006 at 2:33 am | Permalink

    can i write innerclass object at out side of a nested calass
    class A //outer class
    class B{} //innerclass

    class main //outside of nested class
    B obje=new B();

  20. Shankar Reddy
    Posted 9/25/2006 at 4:12 am | Permalink

    Can we write static final class with private constructor with in a interface.If we write how can we access

  21. Posted 10/19/2006 at 1:36 am | Permalink

    we can access static methods either by class name or object,so why dont we access these method by using “this” variable,as “this” contains the reference of current object?

  22. Loknath
    Posted 11/22/2006 at 1:15 am | Permalink

    Hello sir,

    What is serialization?
    What is the difference between vector & Array?

  23. hema
    Posted 1/4/2007 at 4:56 am | Permalink

    hi loknath
    vector and arraylist, both are same exept one reason.
    vector methods are synchronized(only one thread can execute it) where as arraylist method are not sysnchronized.
    but u asked diff. between vector and array.
    vector is collection of objects and the space allocated for vector is in heap. But for simple array is collection of primitive values and space allocated is not heap.
    i think u got the answer.
    if iam wrong, let me know people

  24. hema
    Posted 1/5/2007 at 1:40 am | Permalink

    how to iterate through map.
    can we use iterator that we use for other collections(like linkedlist,arraylist..)
    reply me as soon as possible

  25. R.Sundaravigneshvaran
    Posted 3/8/2007 at 12:56 am | Permalink

    Can anybody give me the details about difference between abstract class and interface.

    Why we are using interface?
    if u say that its for multiple inheritance feature like C++. Then what is the use of just only definig the method names in Interface. Instead of Using the Interface we can simply declare and define methods in ordinary classes.

    so please clearly specify the difference between interface and abstract classes.

    And what is the main use of Interface?

    If any one know the answer If u have time pls mail it to me

  26. kunal
    Posted 4/13/2007 at 6:52 am | Permalink

    what is the main use of Interface?

    Interfaces can be used for the following..

    1. Enforcing implementations of certain function on a class. i.e. if a class implements an interface it has to implement all methods in that interface. Basically for Supporting Multiple Inheritance.

    2. Marker interfaces these are used to indicate to JVM about a certain functionality of a a class implementing it. i.e. Interfaces like Serializable , Remote etc

    3. To provide Communication between two Classes If both implement the same interface they can communicate via the common methods. [eg. RMI]

    and many more….

  27. sazi
    Posted 4/29/2007 at 5:54 am | Permalink

    java is a pure oops or not ?

  28. venkat
    Posted 4/30/2007 at 9:10 am | Permalink

    1.Can i write destroy() method in service()
    2.Can i write Constructor in servlet program,if U write Where U will write?

  29. venkat
    Posted 4/30/2007 at 9:13 am | Permalink

    what is the importence of Dispacth method in struts

  30. john
    Posted 5/8/2007 at 4:53 am | Permalink

    What happens when ejbCreate is called in Entity Beans? Pls tell me the difference between BMP and CMP in the above scenario?

  31. upendar
    Posted 5/23/2007 at 1:24 am | Permalink

    we can use iterate on map .first we have to convert the map into a set by using setEntry
    e.g:Map m=new Map();
    set s=m.setEntry();
    iterator i=s.iterator();
    Object 0=(MapEntry);

  32. Shankargouda Patil
    Posted 9/13/2007 at 4:20 am | Permalink

    * What is the use of anonymous class.
    * What is the difference between sleep() and wait() methods.

  33. Radhika Movva
    Posted 10/29/2007 at 9:59 pm | Permalink

    what is the main use of Interface?

    Dear Friends

    Iam giving example for this question.
    If we take Windows operating system. If we open any window we can find printer option on top of the window. Here Printer is an Interface provided by MicroSoft. If we click printer we will get many number of options those are provided by third party vendor like laser printer vendor okay. Means here Implemention class provided by laser printer vendor. We all know we will get a CD along with printer when we buy the new printer. That is Implementation class.

    Once if we write Interface, then we can write different types of implementations for that interface. Means we use same Interface for both Laser printer as well as dot matrix printer right.

    This is same example for Driver Class also.

  34. ajay limje
    Posted 3/1/2008 at 9:04 am | Permalink

    What is serialization?

  35. Sam
    Posted 4/8/2008 at 1:08 pm | Permalink

    How can I get total number of record from resultSet before executing while loop?

  36. Bhavi
    Posted 5/16/2008 at 2:14 am | Permalink

    Serialization is the process to convert a value object into byte stream and vice versa over the network.This is an interface that have the read and write methods for this

  37. Mayank
    Posted 6/23/2008 at 2:45 am | Permalink

    * What is the use of anonymous class.
    * What is the difference between sleep() and wait() methods

    1) annoymous classes are basically used where you want your class to do only one kind of job eg. catching the user action (ie. he clicked on some button or change the value of any UI component).
    It will help you to maintain the modularity in the code whithin a single file.

    2)Difference between sleep() and wait() is
    that since sleep() is an static method of class Thread so whenever it gets executed it puts the “thread of execution” i.e. currently executing thread to sleep and it will again goes to runnable state once the specified time is finished

    wait() is a method of class Object
    so whenver it executes on an object it puts the thread who attains the object’s lock in waiting stage and once this thread get notified (using notify()) by other thread or its wait time is elapsed, thread again comes to runnable state

    I hope this will help you to distinguish between sleep() and wait()

  38. nitin lahane
    Posted 9/6/2008 at 4:30 am | Permalink

    can we directly access the private variable of super class in the sub class?

  39. Karthik
    Posted 9/29/2008 at 7:34 am | Permalink

    “can we directly access the private variable of super class in the sub class?”

    Ans: Yon can never ever ever access a private members of one class form other class code(even it’s a subclass)..

Post a Comment

Your email is never published nor shared. Required fields are marked *