Scope Quiz

This question is just to test scope.  can you tell which 'i' is which?  Does this code run?  What does the following code put on the screen?
class Bambam extends java.applet.Applet {
    int i = 10;
    Small small;
    public void init() {
        small = new Small(20);
        i = 10;
    }
    public void paint(Graphics q) {
        small.paint(q);
    }
}
class Small {
    Small(int j) {
        i = j;
    }
    public void paint(Graphics h) {
        h.drawString(""+i, i, i);
    }
}
This question tests both scope and the idea of a 'const' variable.  Does this code run?  What does it put on the screen?
class Fred extends java.applet.Applet {
    const int i = 10;
    Small small;
    public void init() {
        small = new Small(20);
    }
    public void paint(Graphics g) {
        small.paint(g);
    }
}
class Small {
    const int i = 20;
    Small(int j) {
        int i;
        i = j;
    }
    public void paint(Graphics g) {
        g.drawString(""+i, i, i);
    }
}
This code tests parameter passing.  Does this code run?  What does this code put on the screen?
class Wilma extends java.applet.Applet {
    const int i = 10;
    Big big;
    public void init() {
        big = new Big(20, i);
    }
    public void paint(Graphics h) {
        big.paint(h);
    }
}
class Big {
    int i;
    Big(int i, int j) {
        i = j;
    }
    public void paint(Graphics q) {
        q.drawString(""+i, i, i);
    }
}
This code tests whether a parent class can access a child class's variables.  Does this code run?  What does it put on the screen?
class Pebbles extends java.applet.Applet {
    Small small;
    public void init() {
        small = new Small(20);
        small.i = 30;
    }
    public void paint(Graphics g) {
        small.paint(g);
    }
}
class Small {
    public int i;
    Small(int j) {
        i = j;
    }
    public void paint(Graphics g) {
        g.drawString(""+i, i, i);
    }
}