Test Your Java Knowledge: Using Modifiers, Part 2
Questions
Welcome
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.
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.
1. True or false? The only access control modifiers supported by Java are
- public
- protected
- private
2. What output is produced by the following program?
- A. A compiler error
- B. A runtime error
- C. 15
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?
- A. A compiler error
- B. A runtime error
- C. 15
- D. 10
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?
- A. public static void main(String args[]){}
- B. static public void main(String args[]){}
- C. static public void main(String[] args){}
- D. public static void main(String[] args){}
- E. static public void main(String args){}
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?
- A. A compiler error
- B. AAA
- C. BBB
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?
- A. A compiler error
- B. AAA
- C. BBB
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?
- A. A compiler error
- B. AAA
- C. BBB
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?
- A. A compiler error
- B. AAA
- C. BBB
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?
- A. A compiler error
- B. AAA
- C. BBB
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 |
Copyright 2000, Richard G. Baldwin. Reproduction in whole or in part in any form or medium without express written permission from Richard Baldwin is prohibited.
About the author
Richard Baldwin is a college professor and private consultant whose primary focus is a combination of Java and XML. In addition to the many platform-independent benefits of Java applications, he believes that a combination of Java and XML will become the primary driving force in the delivery of structured information on the Web.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.
Answers and Explanations
Answer 10
Explanation 10
Answer 9
Explanation 9
Answer 8
Explanation 8
Answer 7
Explanation 7
Answer 6
Explanation 6
Answer 5
Explanation 5
Answer 4
Explanation 4
Answer 3
Explanation 3
Answer 2
Explanation 2
Answer 1
Explanation 1
Copyright 2000, Richard G. Baldwin. Reproduction in whole or in part in any form or medium without express written permission from Richard Baldwin is prohibited.
About the author
Richard Baldwin is a college professor and private consultant whose primary focus is a combination of Java and XML. In addition to the many platform-independent benefits of Java applications, he believes that a combination of Java and XML will become the primary driving force in the delivery of structured information on the Web.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.
