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
Instance variables
π Scenario: Imagine you are creating a simple program to keep track of a book's details in a library system. Each book has a title and an author.
π― Goal: You will create a class called Book with instance variables to store the title and author. Then, you will create an object of this class and print its details.
π What You'll Learn
Create a class called Book
Add instance variables title and author of type String
Create an object of Book with title "The Alchemist" and author "Paulo Coelho"
Print the book's title and author using the object
π‘ Why This Matters
π Real World
Instance variables are used to store information about objects in real-world programs, like details of books, students, or products.
πΌ Career
Understanding instance variables is essential for object-oriented programming, which is widely used in software development jobs.
Progress0 / 4 steps
1
Create the Book class with instance variables
Create a class called Book with two instance variables: String title and String author.
Java
Hint
Instance variables are declared inside the class but outside any method.
2
Create a Book object with specific title and author
In the Main class, create a Book object called myBook. Set its title to "The Alchemist" and author to "Paulo Coelho".
Java
Hint
Create the object using new Book() and assign values to instance variables using the dot . operator.
3
Print the book's title and author
Use System.out.println to print the book's title and author from the myBook object. Print the title first, then the author on the next line.
Java
Hint
Use System.out.println twice, once for the title and once for the author.
4
Run the program to see the output
Run the program to display the book's title and author on the screen.
Java
Hint
The program should print the title and author on separate lines.
Practice
(1/5)
1. Which statement best describes instance variables in Java?
easy
A. They store data unique to each object of a class.
B. They are shared by all objects of a class.
C. They are declared inside methods only.
D. They must be static to be used.
Solution
Step 1: Understand instance variable location
Instance variables are declared inside a class but outside any method.
Step 2: Understand instance variable behavior
Each object has its own copy, so data is unique per object.
Final Answer:
They store data unique to each object of a class. -> Option A
Quick Check:
Instance variables = unique per object [OK]
Hint: Instance variables belong to objects, not the class itself [OK]
Common Mistakes:
Confusing instance variables with static variables
Thinking instance variables are declared inside methods
Assuming instance variables are shared across all objects
2. Which of the following is the correct way to declare an instance variable in Java?
easy
A. static int count;
B. int count() { }
C. public int count;
D. void count;
Solution
Step 1: Identify valid instance variable syntax
Instance variables are declared like normal variables inside a class but outside methods, e.g., public int count;.
Step 2: Eliminate invalid options
int count() { } is a method, C is static (not instance), D is invalid syntax.
Final Answer:
public int count; -> Option C
Quick Check:
Instance variable declaration = variable with type and name [OK]
Hint: Instance variables look like normal variable declarations outside methods [OK]
Common Mistakes:
Using parentheses which define methods, not variables
Adding static keyword which makes variable class-level
Missing type or using invalid syntax
3. What will be the output of this Java code?
class Car {
String color = "Red";
}
public class Test {
public static void main(String[] args) {
Car c1 = new Car();
Car c2 = new Car();
c2.color = "Blue";
System.out.println(c1.color);
}
}
medium
A. Compilation error
B. Blue
C. null
D. Red
Solution
Step 1: Understand instance variable values per object
Each Car object has its own color. c1.color is "Red" initially.
Step 2: Check changes to c2.color
Changing c2.color to "Blue" does not affect c1.color.
Final Answer:
Red -> Option D
Quick Check:
Instance variables are unique per object [OK]
Hint: Changing one object's instance variable doesn't affect others [OK]
Common Mistakes:
Assuming changing c2.color changes c1.color
Confusing instance variables with static variables
Expecting null because of misunderstanding initialization
4. Find the error in this Java class related to instance variables:
public class Person {
String name;
int age;
public void setName(String name) {
name = name;
}
}
medium
A. Instance variable 'name' is not assigned correctly in setName method.
B. Missing return type for setName method.
C. Instance variables must be static.
D. Class Person must have a constructor.
Solution
Step 1: Analyze setName method parameter and assignment
The method parameter name shadows the instance variable name.
Step 2: Understand assignment effect
Assignment name = name; assigns parameter to itself, not instance variable.
Final Answer:
Instance variable 'name' is not assigned correctly in setName method. -> Option A
Quick Check:
Use this.name = name; to assign instance variable [OK]
Hint: Use 'this.' to refer to instance variables inside methods [OK]
Common Mistakes:
Not using 'this' to distinguish instance variables
Thinking constructor is mandatory for instance variables
5. You want to create a class Book where each book has a unique title and author. Which code correctly uses instance variables to achieve this?
public class Book {
// Choose the correct instance variable declarations and constructor
A) String title, author;
public Book(String t, String a) {
title = t;
author = a;
}
B) static String title, author;
public Book(String t, String a) {
title = t;
author = a;
}
C) String title, author;
public Book() {
title = "";
author = "";
}
D) static String title, author;
public Book() {
title = "";
author = "";
}
hard
A. Static variables with constructor assigning values (shared by all).
B. Instance variables with constructor assigning unique values.
C. Instance variables with default constructor (no unique values).
D. Static variables with default constructor (shared and default).
Solution
Step 1: Identify instance vs static variables
Instance variables allow each object to have unique data; static variables share data across all objects.
Step 2: Check constructor usage
Instance variables with constructor assigning unique values. uses instance variables with a constructor that assigns unique values from parameters, matching the requirement.
Final Answer:
Instance variables with constructor assigning unique values. -> Option B
Quick Check:
Use instance variables + constructor for unique object data [OK]
Hint: Use instance variables with constructor to set unique object data [OK]
Common Mistakes:
Using static variables which share data across all objects
Not initializing instance variables with constructor parameters