Question 18 Given a file GrizzlyBear.java: 1. package animals.mammals; 2.
3. public class GrizzlyBear extends Bear { 4. void hunt() {
5. Salmon s = findSalmon(); 6. s.consume(); 7. } 8. }
and another file, Salmon.java: 1. package animals.fish; 2.
3. public class Salmon extends Fish {
4. void consume() { /* do stuff */ } 5. }
Assume both classes are defined in the correct directories for theft packages, and that the Mammal class correctly defines the
+findSalmon() method. Which two changes allow this code to compile correctly? (Choose two.)
A. add public to the start of line 4 in Salmon.java
B. add public to the start of line 4 in GrizzlyBear.java C. add import animals.mammals.*; at line 2 in Salmon.java D. add import animals.fish.*; at line 2 in GrizzlyBear.java
E. add import animals.fish.Salmon.*; at line 2 in GrizzlyBear.java F. add import animals.mammals.GrizzlyBear.*;at line 2 in Salmon.java
Answer: AD
Question 19 Given:
10. package com.sun.scjp; 11. public class Geodetics {
12. public static final double DIAMETER = 12756.32; // kilometers 13. }
Which two correctly access the DIAMETER member of the Geodetics class? (Choose two.)
A. import com.sun.scjp.Geodetics; public class TerraCarta { public double halfway()
{ return Geodetics.DIAMETER/2.0; } } B. import static com.sun.scjp.Geodetics; public class TerraCarta {
public double halfway() { return DIAMETER/2.0; } } C. import static com.sun.scjp.Geodetics. *; public class TerraCarta {
public double halfway() { return DIAMETER/2.0; } } D. package com.sun.scjp; public class TerraCarta {
public double halfway() { return DIAMETER/2.0; } }
Answer: AC
Question 20 Given classes defined in two different files: 1. package util;
2. public class BitUtils {
3. private static void process(byte[] b) { } 4. }
1. package app;
2. public class SomeApp {
3. public static void main(String[] args) { 4. byte[] bytes = new byte[256]; 5. // insert code here 6. } 7. }
What is required at line 5 in class SomeApp to use the process method of BitUtils?
A. process(bytes);
B. BitUtils.process(bytes); C. app.BitUtils.process(bytes); D. util.BitUtils.process(bytes);
E. import util.BitUtils. *; process(bytes);
F. SomeApp cannot use the process method in BitUtils.
Answer: F
Question 21 Given a class Repetition: 1. package utils; 2.
3. public class Repetition {
4. public static String twice(String s) { return s + s; } 5. }
and given another class Demo: 1. // insert code here 2.
3. public class Demo {
4. public static void main(String[] args) { 5. System.out.println(twice(\6. } 7. }
Which code should be inserted at line 1 of Demo.java to compile and run Demo to print “pizzapizza”? A. import utils.*;
B. static import utils.*; C. import utils.Repetition.*;
D. static import utils.Repetition. *; E. import utils.Repetition.twice();
F. import static utils.Repetition.twice; G. static import utils.Repetition.twice;
Answer: F
Question 22 Given:
1. package test; 2.
3. class Target{
4. public String name = \5. }
What can directly access and change the value of the variable name? A. any class
B. only the Targetclass
C. any class in the test package D. any class that extends Target