Jump into concepts and practice - no test required
or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
This keyword usage
π Scenario: Imagine you are creating a simple Java program to manage a book's details. You want to clearly understand how to use the this keyword to refer to the current object's properties.
π― Goal: You will build a Java class called Book with two properties: title and author. You will use the this keyword to set these properties inside the constructor and then print the book details.
π What You'll Learn
Create a class called Book with two String properties: title and author
Create a constructor for Book that takes two parameters named title and author
Use the this keyword inside the constructor to assign the parameters to the class properties
Create a method called printDetails that prints the book's title and author
Create a main method to create a Book object and call printDetails
π‘ Why This Matters
π Real World
Using <code>this</code> is common in Java when you want to clearly refer to the current object's properties, especially when parameter names match property names.
πΌ Career
Understanding <code>this</code> is essential for writing clear and bug-free Java classes, which is a fundamental skill for Java developers.
Progress0 / 4 steps
1
Create the Book class with properties
Create a public class called Book with two String properties named title and author.
Java
Hint
Properties are variables inside the class but outside any method.
2
Add constructor using this keyword
Add a constructor to the Book class with parameters String title and String author. Use the this keyword to assign the parameters to the class properties title and author.
Java
Hint
The this keyword helps to distinguish between the class property and the constructor parameter with the same name.
3
Add method to print book details
Add a public method called printDetails inside the Book class that prints the book's title and author using System.out.println. Use this.title and this.author to access the properties.
Java
Hint
Use this to refer to the current object's properties inside methods.
4
Create main method and display book details
Add a main method inside the Book class. Inside main, create a Book object with title "Java Basics" and author "Alice". Then call the printDetails method on this object to display the book details.
Java
Hint
The main method is the program's starting point. Create the object and call the method to see the output.
Practice
(1/5)
1. What does the this keyword refer to in a Java class?
easy
A. A static method
B. The current object instance
C. A superclass object
D. A local variable
Solution
Step 1: Understand the role of this
The this keyword always points to the current object instance inside a class.
Step 2: Differentiate from other options
It does not refer to static methods, superclass objects, or local variables.
Final Answer:
The current object instance -> Option B
Quick Check:
this = current object instance [OK]
Hint: Remember: this means "this object" [OK]
Common Mistakes:
Confusing this with static context
Thinking this refers to superclass
Assuming this is a local variable
2. Which of the following is the correct way to use this to call another constructor in the same class?
easy
A. call(this);
B. super();
C. this.call();
D. this();
Solution
Step 1: Identify constructor call syntax
In Java, calling another constructor in the same class uses this(); as the first statement.
Step 2: Eliminate incorrect options
super(); calls superclass constructor, this.call(); is invalid syntax, and call(this); is not a constructor call.
Final Answer:
this(); -> Option D
Quick Check:
Constructor chaining uses this(); [OK]
Hint: Use this(); to call another constructor [OK]
Common Mistakes:
Using super(); instead of this();
Trying to call constructor like a method
Placing this(); not as first statement
3. What will be the output of the following code?
class Test {
int x = 10;
void printX() {
int x = 20;
System.out.println(x);
System.out.println(this.x);
}
public static void main(String[] args) {
new Test().printX();
}
}
medium
A. 10\n20
B. 20\n20
C. 20\n10
D. 10\n10
Solution
Step 1: Identify local and instance variables
Inside printX(), local x is 20, instance x is 10.
Step 2: Understand this.x usage
System.out.println(x); prints local 20, System.out.println(this.x); prints instance 10.
Final Answer:
20
10 -> Option C
Quick Check:
Local x = 20, this.x = 10 [OK]
Hint: Local variable hides instance; use this for instance [OK]
Common Mistakes:
Confusing local and instance variables
Ignoring this keyword
Expecting both prints to be same
4. Identify the error in the following code snippet:
class Sample {
int value;
Sample(int value) {
value = value;
}
}
medium
A. The constructor does not assign parameter to instance variable
B. Syntax error: missing this keyword
C. Cannot have parameter and instance variable with same name
D. No error, code works fine
Solution
Step 1: Analyze assignment in constructor
The statement value = value; assigns the parameter to itself, not to the instance variable.
Step 2: Correct usage with this
To assign parameter to instance variable, use this.value = value;.
Final Answer:
The constructor does not assign parameter to instance variable -> Option A
Quick Check:
Missing this. causes no instance update [OK]
Hint: Use this.variable = variable; to assign correctly [OK]