Prev | Next |
Quiz - 1
This quiz tests your knowledge of Java language semantics. Get a print out of this when you come to the class.
- First try answering without running the program.
- Then run the program to check if your understanding was indeed correct.
- Enter both the answers in the last column and submit.
Concept | Program | Your answer first, followed by the actual answer |
Visibility |
// A.java public class A { private double d; protected char c; public float f; } // ATest.java public class ATest { public static void main(String[] args) { A a = new A(); a.d = 5; a.c = 'x'; a.f = 1.0f; } } |
|
Default values of instance variables |
// BTest.java public class BTest { private int i; private long l; private double d; private char c; private float f; private String s; public static void main(String[] args) { BTest b = new BTest(); System.out.println("The default values" + "instance/object variables are: " + "b.i = " + b.i + "b.l = " + b.l + "b.f = " + b.f + "b.d = " + b.d + "b.c = " + b.c + "b.s = " + b.s); } } |
|
Default values of static variables |
// CTest.java public class CTest { private static int i; private static long l; private static double d; private static char c; private static float f; private static String s; public static void main(String[] args) { System.out.println("The default values" + "static/class variables are: " + "i = " + i + "l = " + l + "f = " + f + "d = " + d + "c = " + c + "s = " + s); } } |
|
Default values of local variables |
// DTest.java public class DTest { public static void main(String[] args) { int i; long l; double d; char c; float f; String s; System.out.println("The default values" + "local variables are: " + "i = " + i + "l = " + l + "f = " + f + "d = " + d + "c = " + c + "s = " + s); } } |
|
Private (outer) class |
// E.java private class E { /* 1. Is it possible to create a private class? 2. How about protected class? 3. Does it make sense to declare a public attribute in a private class? */ } |
|
Equality of object instances |
// F.java public class F { private int x; F(int xi) { x = xi; } // equals() not defined } // FTest.java public class FTest { public static void main(String[] args) { F f1 = new F(2); F f2 = new F(2); System.out.println(f1==f2); System.out.println(f1.equals(f2)); /* How is it possible to call equals() method without defining it even? */ } } |
|
Equality of object instances |
// G.java public class G { private int x; G(int xi) { x = xi; } public boolean equals(G g) { if (this.x == g.x) return true; return false; } } // GTest.java public class GTest { public static void main(String[] args) { G g1 = new G(2); G g2 = new G(2); System.out.println(g1==g2); System.out.println(g1.equals(g2)); } } |
|
Private main() |
// HTest.java public class HTest { private static void main(String[] args) { System.out.println("main is private"); } } |
|
Non-static main() |
// ITest.java public class ITest { public void main(String[] args) { System.out.println("main is not static"); } } |
|
main() with no arguments |
// JTest.java public class JTest { public static void main() { System.out.println("main without arguments"); } } |
|
main() with a return type |
// KTest.java public class KTest { public static int main(String[] args) { System.out.println("main returns a value"); return 0; } } |
|
Overloaded main() |
// LTest.java public class LTest { public static void main(String[] args) { System.out.println("From real main"); main(10); } public static void main(int x) { System.out.println("From overloaded main"); } } |
|
main() calling itself |
// MTest.java public class MTest { public static void main(String[] args) { System.out.println("Inside main"); String[] s; main(s); } } |