Published: February 23, 2001
By Richard G. Baldwin
I recommend that you also make use of my online Java tutorial lessons, which are designed from a more conventional textbook approach. Those tutorial lessons are published at Gamelan.com.
For your convenience, I also maintain a consolidated Table of Contents on my personal web site that links to the individual lessons on the Gamelan site.
Insofar as possible, I will make use of Sun Java in these lessons. However, it will not be possible for me to go back and do a full update each time Sun releases a new version, so over the course of time, I expect to use different versions of Sun Java.
Just in case you would like to sneak a peek, the answers to the questions, and the explanations of those answers are located (in reverse order) at the end of this file.
The questions and the answers are connected by hyperlinks to make it
easy for you to navigate from the question to the answer and back.
It is recommended that you make your first pass through the questions in
the order that they appear so as to avoid inadvertently seeing the answer
to a question before you provide your own answer.
2. What output is produced by the following program?
class Q32{ public static void main( String args[]){ SubSubClass ref1 = new SubSubClass(5); SubSubClass ref2 = new SubSubClass(10); System.out.println(ref1.add(ref2)); }//end main() }//end class definition class AClass{ protected int x; AClass(int x){//constructor this.x = x; }// end constructor }//end class AClass class SubClass extends AClass{ SubClass(int x){ super(x); }//end constructor }//end class SubClass class SubSubClass extends SubClass{ SubSubClass(int x){ super(x); }//end constructor int add(AClass ref){ return x + ref.x; }//end add() }//end class SubSubClass |
3. What output is produced by the following program?
class Q33{ public static void main( String args[]){ SubSubClass ref1 = new SubSubClass(5); SubSubClass ref2 = new SubSubClass(10); System.out.println(ref1.add(ref2)); }//end main() }//end class definition class AClass{ protected int x; AClass(int x){//constructor this.x = x; }// end constructor protected int add(AClass ref){ return x; }//end add() }//end class AClass class SubClass extends AClass{ SubClass(int x){ super(x); }//end constructor }//end class SubClass class SubSubClass extends SubClass{ SubSubClass(int x){ super(x); }//end constructor int add(AClass ref){//overridden return x + ref.x; }//end add() }//end class SubSubClass |
4. Which of the following are valid syntax for the main() method required by a Java application?
5. True or false? Friendly or package access applies to all classes in the current working directory that are not declared to be public, private, or protected.
6. What output is produced by the following program?
import java.awt.*; class Q37{ final Label var = new Label("AAA"); public static void main( String args[]){ Q37 obj = new Q37(); obj.var = new Label("BBB"); System.out.println( obj.var.getText()); }//end main() }//end class definition |
7. What output is produced by the following program?
import java.awt.*; class Q38{ final Label var = new Label("AAA"); public static void main( String args[]){ Q38 obj = new Q38(); obj.var.setText("BBB"); System.out.println( obj.var.getText()); }//end main() }//end class definition |
8. What output is produced by the following program?
class Q39{ public static void main( String args[]){ new AClass().aMethod(); }//end main() final void aMethod(){ System.out.println("AAA"); }//end aMethod() }//end class definition class AClass extends Q39{ void aMethod(){//overridden method System.out.println("BBB"); }//end aMethod() }//end class AClass |
9. What output is produced by the following program?
final class Q40{ public static void main( String args[]){ new AClass().aMethod(); }//end main() void aMethod(){ System.out.println("AAA"); }//end aMethod() }//end class definition class AClass extends Q40{ void aMethod(){//overridden method System.out.println("BBB"); }//end aMethod() }//end class AClass |
10. What output is produced by the following program?
abstract class Q41{ public static void main( String args[]){ new Q41().aMethod(); }//end main() void aMethod(){ System.out.println("AAA"); }// end aMethod() }//end class definition class AClass extends Q41{ void aMethod(){//overridden method System.out.println("BBB"); }//end aMethod() }//end class AClass |
Richard has participated in numerous consulting projects involving Java, XML, or a combination of the two. He frequently provides onsite Java and/or XML training at the high-tech companies located in and around Austin, Texas. He is the author of Baldwin's Java Programming Tutorials, which has gained a worldwide following among experienced and aspiring Java programmers. He has also published articles on Java Programming in Java Pro magazine.
Richard holds an MSEE degree from Southern Methodist University and has many years of experience in the application of computer technology to real-world problems.
Richard has participated in numerous consulting projects involving Java, XML, or a combination of the two. He frequently provides onsite Java and/or XML training at the high-tech companies located in and around Austin, Texas. He is the author of Baldwin's Java Programming Tutorials, which has gained a worldwide following among experienced and aspiring Java programmers. He has also published articles on Java Programming in Java Pro magazine.
Richard holds an MSEE degree from Southern Methodist University and has many years of experience in the application of computer technology to real-world problems.
-end-