printable version
Quiz 4
[1]
[2]
[3]
[4]
Problem Q4.1.
[6 pts]
Given the two classes below, what will main
display?
public class Worker {
private String job;
public Worker(String s) {
job = s;
}
public void setJob(String s) {
job = s;
}
public String getJob() {
return job;
}
}
|
public class Main {
public static void main(String[] args) {
Stack<Worker> s = new Stack<Worker>();
Worker gwb = new Worker("president");
Worker bho = new Worker("senator");
Worker you = new Worker("student");
s.push(gwb);
s.push(bho);
s.push(you);
gwb.setJob("none");
you = bho;
you.setJob("pres");
bho = gwb;
System.out.println(s.pop().getJob());
System.out.println(s.pop().getJob());
System.out.println(s.pop().getJob());
}
}
|
Problem Q4.2.
[8 pts]
Suppose we remove from the heap whose tree diagram is below.
What will its tree diagram then be?
Problem Q4.3.
[8 pts]
Suppose we add 3 into the heap represented by the array below.
What will the array then be?
Problem Q4.4.
[8 pts]
Suppose that we have a Manager
class that implements the
ActionListener
interface.
The class has a no-parameter constructor.
For each of the following fragments, indicate whether it would
compile (at least one would), and for those that would not,
indicate what the compiler would complain about.
a. |
void reg(JButton b, Manager m) {
b.addActionListener(m);
}
void run() {
JButton b = new JButton("OK");
reg(b, new Manager());
}
| b. |
void reg(JButton b, ActionListener m) {
b.addActionListener(m);
}
void run() {
JButton b = new JButton("OK");
reg(b, new Manager());
}
|
c. |
void reg(JButton b, Manager m) {
b.addActionListener(m);
}
void run() {
JButton b = new JButton("OK");
reg(b, new ActionListener());
}
| d. |
void reg(JButton b, ActionListener m) {
b.addActionListener(m);
}
void run() {
JButton b = new JButton("OK");
reg(b, new ActionListener());
}
|
a. This is OK.
b. This is OK.
c. You cannot create an instance of an interface such
as ActionListener
. Also, reg
expects a
Manager
but in run
's invocation of
reg
, ActionListener
does not
conform to that type.
d. You cannot create an instance of an interface such
as ActionListener
.