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
Classes and Objects
π Scenario: You are creating a simple program to manage information about books in a library.
π― Goal: Build a Java program that defines a Book class with attributes and creates objects to store book details.
π What You'll Learn
Define a class named Book with two attributes: title and author.
Create a variable of type Book named myBook.
Assign values to the title and author attributes of myBook.
Print the book details in the format: Title: [title], Author: [author].
π‘ Why This Matters
π Real World
Classes and objects help organize data and behavior in programs, like managing books in a library system.
πΌ Career
Understanding classes and objects is essential for software development jobs, especially in object-oriented programming languages like Java.
Progress0 / 4 steps
1
Create the Book class with attributes
Write a public class named Book with two public string attributes: title and author.
Java
Hint
Use public String title; and public String author; inside the class.
2
Create a Book object and assign values
In the Main class, create a Book object named myBook and set myBook.title to "The Alchemist" and myBook.author to "Paulo Coelho".
Java
Hint
Create the object with new Book() and assign values using dot notation.
3
Add a method to display book details
Add a public method named displayInfo inside the Book class that prints the book details in the format: Title: [title], Author: [author].
Java
Hint
Use System.out.println inside the method to show the book details.
4
Call the displayInfo method to show book details
In the main method, call the displayInfo method on the myBook object to print the book details.
Java
Hint
Call myBook.displayInfo(); to print the details.
Practice
(1/5)
1. What is the main purpose of a class in Java?
easy
A. To serve as a blueprint for creating objects
B. To execute the program's main method
C. To store data permanently on disk
D. To perform input and output operations
Solution
Step 1: Understand the role of a class
A class defines the structure and behavior that objects created from it will have.
Step 2: Identify the correct purpose
Classes are not for running programs or storing data on disk; they are blueprints for objects.
Final Answer:
To serve as a blueprint for creating objects -> Option A
Quick Check:
Class = blueprint for objects [OK]
Hint: Classes define objects' structure and behavior [OK]
Common Mistakes:
Confusing classes with methods
Thinking classes store data permanently
Believing classes execute the program
2. Which of the following is the correct way to create an object of class Car in Java?
easy
A. Car myCar = new Car;
B. Car myCar = Car();
C. Car myCar = new Car();
D. new Car myCar = Car();
Solution
Step 1: Recall object creation syntax
In Java, objects are created using the new keyword followed by the class constructor with parentheses.
Step 2: Check each option
Car myCar = new Car(); uses correct syntax: Car myCar = new Car();. Others miss parentheses or have wrong order.
Final Answer:
Car myCar = new Car(); -> Option C
Quick Check:
Use new ClassName() to create objects [OK]
Hint: Use 'new ClassName()' to create objects [OK]
Common Mistakes:
Omitting parentheses after class name
Placing 'new' keyword incorrectly
Missing semicolon at the end
3. What will be the output of the following code?
class Dog {
String name;
void bark() {
System.out.println(name + " says Woof!");
}
}
public class Main {
public static void main(String[] args) {
Dog dog1 = new Dog();
dog1.name = "Buddy";
dog1.bark();
}
}
medium
A. null says Woof!
B. Woof!
C. Compilation error
D. Buddy says Woof!
Solution
Step 1: Understand object property assignment
The object dog1 has its name set to "Buddy" before calling bark().
Step 2: Analyze the bark method output
The method prints the name followed by " says Woof!" so it prints "Buddy says Woof!".
Final Answer:
Buddy says Woof! -> Option D
Quick Check:
Object property used in method = Buddy says Woof! [OK]
Hint: Check object fields before method calls for output [OK]
Common Mistakes:
Assuming default null value prints
Forgetting to assign the name
Thinking method prints only 'Woof!'
4. Identify the error in the following code snippet:
class Person {
String name;
void setName(String name) {
name = name;
}
}
public class Main {
public static void main(String[] args) {
Person p = new Person();
p.setName("Alice");
System.out.println(p.name);
}
}
medium
A. Missing semicolon after setName method
B. The method setName does not assign the parameter to the instance variable
C. Cannot print p.name directly
D. Class Person should be public
Solution
Step 1: Analyze the setName method
The assignment name = name; assigns the parameter to itself, not to the instance variable.
Step 2: Understand instance variable shadowing
To assign correctly, use this.name = name; to refer to the instance variable.
Final Answer:
The method setName does not assign the parameter to the instance variable -> Option B
Quick Check:
Use 'this' to assign instance variables [OK]
Hint: Use 'this.variable' to refer to instance variables [OK]
Common Mistakes:
Confusing parameter and instance variable names
Forgetting 'this' keyword
Assuming assignment works without 'this'
5. Given the class below, how can you create a method that returns a new Rectangle object with double the width and height of the current one?
class Rectangle {
int width;
int height;
Rectangle(int w, int h) {
width = w;
height = h;
}
// Your method here
}
hard
A. Rectangle doubleSize() { return new Rectangle(width * 2, height * 2); }