Advanced quizzes – Java final classes and variables

The following Java exercise(s) are designed for advanced level developers. If the level is too hard, then I recommend to select an easier one or you might consider reading my article about this topic, which offers a theoretical explanation including more exercises. Read More: Java Final Classes And Methods

final-classes-red

Quiz 1: Final classes and variables in Java

What appears in the standard output when this program is invoked?

public class Super {

	final int x = 2;
	int y = 3;

	Super() {
		y ++ ;
		System.out.print("-x" + method());
	}
	int method(){
		return x + y;
	}
	int method(int i){
		return y + x + i;
	}
}

class Final extends Super {

	final int x = 5;
	int y = 6;

	Final() {
		y ++ ;
		System.out.print("-x" + method(3));
	}
	final int method(){
		System.out.print("-x" + y + "-x" + (x + 1));
		return y + 3;
	}
	final int method(int x){
		return y + super.x + x;
	}
	public static void main(String[] args){
		Final f = new Final();
	}
}

Select the correct answer.




Sar Maroof is a professional software development teacher, gives master classes and publishes technical articles. He is also an expert software developer and worked for several big as well as small companies and later as a freelancer.

 Subscribe to Sar Maroof's RSS feeds!
 Mail this page to a friend!
 Bookmark this page!

Leave a Reply

Your email address will not be published. Required fields are marked *