Advanced quizzes – Java constructors

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 Constructors


Quiz 1: Using the keyword this and Java constructors.

What is written to the standard output as the result of executing the following code?

public class MyClass {

	int x = 2;
	int y = 5;

	String s = "4";
	MyClass() {
		x += 3;
		y += 1;
		this.s = "1";
	MyClass(int i, int i2) {
		this.x += i;
		this.y -= i2;
		System.out.print("-x" + x + "-x" + y);
	MyClass(int i, int i2, String s) {
		this.x -= i;
		this.y += i2;
		s = this.s;
		System.out.print("-x" + s + "-x" + x + "-x" + y);
	public static void main(String[] args){
		MyClass mc1 = new MyClass(4,3,"2");

Select the correct answer.

Please, leave your questions, feedback and suggestions in the comments below! offers a practical method to learn and improve your Java skills. It avoids unnecessary long boring theoretical explanations, but it uses many exercises and quizzes.

Sar Maroof is graduated from HBO Amsterdam "higher professional education". He is a professional computer programming teacher, gives master classes and publishes technical articles. His experience with developing software started from 2001 and he has worked as a software developer for several big as well as small companies and later as a freelancer. He is the author of Java quizmaster and Build a Java application in 7 days.

Books by Sar Maroof

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

1 Comment

Add a Comment
  1. That’s a nicely made answer to a chlenalging question

Leave a Reply

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