What modifiers are allowed for methods in an
Interface?
Only public
and abstract modifiers are allowed for methods in interfaces.
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).
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.
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.
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.
Is Empty .java file
a valid source file?
Yes, an
empty .java file is a perfectly valid source file.
Can a .java file contain more than one java
classes?
Yes, a .java file contain more than one java classes, provided at
the most one of them is a public class.
Is String a primitive data type in Java?
No String is
not a primitive data type in Java, even though it is one of the most
extensively used object. Strings in Java are instances
of String class defined in java.lang package.
Is main a keyword in Java?
No, main is
not a keyword in Java.
Is next a keyword in Java?
No, next is
not a keyword.
Is delete a keyword in Java?
No, delete
is not a keyword in Java. Java does not make use of explicit destructors the
way C++ does.
Is exit a keyword in Java?
No. To exit
a program explicitly you use exit method in System object.
What happens if you dont
initialize an instance variable of any of the primitive types in Java?
Java by
default initializes it to the default value for that primitive type. Thus an int will be initialized to 0, a boolean will be initialized to false.
What will be the initial value of an object
reference which is defined as an instance variable?
The object
references are all initialized to null in Java. However in order to do anything
useful with these references, you must set them to a valid object, else you
will get NullPointerExceptions everywhere you try to
use such default initialized references.
What are the different scopes for Java
variables?
The scope of
a Java variable is determined by the context in which the variable is declared.
Thus a java variable can have one of the three scopes at any given point in
time.
1. Instance : - These are typical object level
variables, they are initialized to default values at the time of creation of
object, and remain accessible as long as the object accessible.
2. Local : - These are the variables that are defined
within a method. They remain accessbile only during
the course of method excecution. When the method
finishes execution, these variables fall out of scope.
3. Static: - These are the class level variables. They are initialized when the
class is loaded in JVM for the first time and remain there as long as the class
remains loaded. They are not tied to any particular object instance.
No comments:
Post a Comment