A. |
interface | B. |
string |
C. |
Float | D. |
unsigned |
Answer & Explanation
Answer: Option A
Explanation:
interface is a valid keyword.
Option B is wrong because although " String" is a class type in Java, " string" is not a keyword.
Option C is wrong because " Float" is a class type. The keyword for the Java primitive is float.
Option D is wrong because " unsigned" is a keyword in C/C++ but not in Java.
6. |
Which three are legal array declarations?
- int [] myScores [];
- char [] myChars;
- int [6] myScores;
- Dog myDogs [];
- Dog myDogs [7];
|
A. |
1, 2, 4 | B. |
2, 4, 5 |
C. |
2, 3, 4 | D. |
All are correct. |
Answer & Explanation
Answer: Option A
Explanation:
(1), (2), and (4) are legal array
declarations. With an array declaration, you can place the brackets to
the right or left of the identifier. Option A looks strange, but it's
perfectly legal to split the brackets in a multidimensional array, and
place them on both sides of the identifier. Although coding this way
would only annoy your fellow programmers, for the exam, you need to know
it's legal.
(3) and (5) are wrong because you can't declare an array with a size.
The size is only needed when the array is actually instantiated (and
the JVM needs to know how much space to allocate for the array, based on
the type of array and the size).
|
7. |
public interface Foo
{
int k = 4;
}
Which three piece of codes are equivalent to line 3?
- final int k = 4;
- public int k = 4;
- static int k = 4;
- abstract int k = 4;
- volatile int k = 4;
- protected int k = 4;
|
A. |
1, 2 and 3 | B. |
2, 3 and 4 |
C. |
3, 4 and 5 | D. |
4, 5 and 6 |
Answer & Explanation
Answer: Option A
Explanation:
(1), (2) and (3) are correct. Interfaces can have constants, which are always implicitly public, static, and final. Interface constant declarations of public, static, and final are optional in any combination.
|
8. |
Which one of the following will declare an array and initialize it with five numbers? |
A. |
Array a = new Array(5); |
B. |
int [] a = {23,22,21,20,19}; |
C. |
int a [] = new int[5]; |
D. |
int [5] array; |
Answer & Explanation
Answer: Option B
Explanation:
Option B is the legal way to declare and initialize an array with five elements.
Option A is wrong because it shows an example of instantiating a class named Array,
passing the integer value 5 to the object's constructor. If you don't
see the brackets, you can be certain there is no actual array object! In
other words, an Array object (instance of class Array) is not the same as an array object.
Option C is wrong because it shows a legal array declaration, but with no initialization.
Option D is wrong (and will not compile) because it declares an array with a size. Arrays must never be given a size when declared.
|
9. |
Which three are valid declarations of a char?
- char c1 = 064770;
- char c2 = 'face';
- char c3 = 0xbeef;
- char c4 = \u0022;
- char c5 = '\iface';
- char c6 = '\uface';
|
A. |
1, 2, 4 |
B. |
1, 3, 6 |
C. |
3, 5 |
D. |
5 only |
Answer & Explanation
Answer: Option B
Explanation:
(1), (3), and (6) are correct. char c1 = 064770; is an octal representation of the integer value 27128, which is legal because it fits into an unsigned 16-bit integer. char c3 = 0xbeef; is a hexadecimal representation of the integer value 48879, which fits into an unsigned 16-bit integer. char c6 = '\uface'; is a Unicode representation of a character.
char c2 = 'face'; is wrong because you can't
put more than one character in a char literal. The only other
acceptable char literal that can go between single quotes is a Unicode
value, and Unicode literals must always start with a '\u'.
char c4 = \u0022; is wrong because the single quotes are missing.
char c5 = '\iface'; is wrong because it appears to be a Unicode representation (notice the backslash), but starts with '\i' rather than '\u'.
|
10. |
Which is the valid declarations within an interface definition? |
A. |
public double methoda(); |
B. |
public final double methoda(); |
C. |
static void methoda(double d1); |
D. |
protected void methoda(double d1); |
Answer & Explanation
Answer: Option A
Explanation:
Option A is correct. A public
access modifier is acceptable. The method prototypes in an interface
are all abstract by virtue of their declaration, and should not be
declared abstract.
Option B is wrong. The final modifier means that this method cannot be constructed in a subclass. A final method cannot be abstract.
Option C is wrong. static is concerned with the class and not an instance.
Option D is wrong. protected is not permitted when declaring a method of an interface. See information below.
Member declarations in an interface disallow the use of some declaration modifiers; you cannot use transient, volatile, or synchronized in a member declaration in an interface. Also, you may not use the private and protected specifiers when declaring members of an interface.
|
|
0 comments:
Post a Comment