-
Can an Interface have an inner
class? - Yes.
public interface abc
{
static int i=0; void dd();
class a1
{
a1()
{
int j;
System.out.println(\"inside\");
};
public static void main(String a1[])
{
System.out.println(\"in interfia\");
}
}
}
-
Can we define private and
protected modifiers for variables in
interfaces? - No
-
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)
-
What modifiers are allowed for
methods in an Interface? - Only
public and abstract modifiers are
allowed for methods in interfaces.
-
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
-
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
-
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).
-
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().
-
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.
-
How do I convert a numeric IP
address like 192.18.97.39 into a
hostname like java.sun.com?
String hostname = InetAddress.getByName
(\"192.18.97.39\").getHostName();
-
Difference between JRE/JVM/JDK?
-
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.
-
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.
-
Is null a keyword? - The null
value is not a keyword.
-
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.
-
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.
-
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.
-
What are wrapped classes? -
Wrapped classes are classes that
allow primitive types to be accessed
as objects.
-
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).
-
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 a native method? - A
native method is a method that is
implemented in a language other than
Java.
-
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
-
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.
-
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.
-
What is the range of the char
type? - The range of the char
type is 0 to 2^16 - 1.