Bird
Raised Fist0
Javaprogramming~10 mins

Class definition in Java - Interactive Code Practice

Choose your learning style10 modes available

Start learning this pattern below

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
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to define a class named "Car".

Java
public [1] Car {
    // class body
}
Drag options to blanks, or click blank then click option'
Apackage
Bclass
Cmethod
Dinterface
Attempts:
3 left
πŸ’‘ Hint
Common Mistakes
Using 'interface' instead of 'class'.
Using 'method' which is not a keyword for class definition.
2fill in blank
medium

Complete the code to declare a private integer field named "speed" inside the class.

Java
public class Car {
    [1] int speed;
}
Drag options to blanks, or click blank then click option'
Aprivate
Bpublic
Cprotected
Dstatic
Attempts:
3 left
πŸ’‘ Hint
Common Mistakes
Using 'public' which allows access from anywhere.
Using 'static' which is not an access modifier.
3fill in blank
hard

Fix the error in the constructor definition to properly initialize the "speed" field.

Java
public class Car {
    private int speed;

    public Car(int [1]) {
        speed = [1];
    }
}
Drag options to blanks, or click blank then click option'
AspeedValue
Bspeed
Cvalue
DspeedInput
Attempts:
3 left
πŸ’‘ Hint
Common Mistakes
Using the same name for parameter and field without 'this' keyword.
Not assigning the parameter to the field.
4fill in blank
hard

Fill both blanks to create a method named "getSpeed" that returns the speed.

Java
public class Car {
    private int speed;

    public [1] [2]() {
        return speed;
    }
}
Drag options to blanks, or click blank then click option'
Aint
Bvoid
CgetSpeed
DsetSpeed
Attempts:
3 left
πŸ’‘ Hint
Common Mistakes
Using 'void' as return type which means no value is returned.
Naming the method 'setSpeed' which is used to set a value.
5fill in blank
hard

Fill all three blanks to create a setter method named "setSpeed" that sets the speed field.

Java
public class Car {
    private int speed;

    public [1] [2]([3] newSpeed) {
        speed = newSpeed;
    }
}
Drag options to blanks, or click blank then click option'
Avoid
Bint
CsetSpeed
Dspeed
Attempts:
3 left
πŸ’‘ Hint
Common Mistakes
Using 'int' as return type for setter methods.
Using wrong method name like 'speed' instead of 'setSpeed'.

Practice

(1/5)
1. What is a class in Java?
class Car { }
easy
A. A blueprint to create objects with data and actions
B. A type of variable that stores numbers
C. A method that runs automatically
D. A special kind of loop

Solution

  1. Step 1: Understand the role of a class

    A class defines a template or blueprint for creating objects that hold data and actions.
  2. Step 2: Match the definition to options

    A blueprint to create objects with data and actions correctly describes a class as a blueprint for objects.
  3. Final Answer:

    A blueprint to create objects with data and actions -> Option A
  4. Quick Check:

    Class = blueprint for objects [OK]
Hint: Remember: class = blueprint for objects [OK]
Common Mistakes:
  • Confusing class with variable
  • Thinking class is a method
  • Mixing class with loops
2. Which of the following is the correct way to define a class named Person in Java?
easy
A. Person class { }
B. class = Person { }
C. class Person { }
D. define class Person { }

Solution

  1. Step 1: Recall Java class syntax

    In Java, a class is defined using the keyword class followed by the class name and braces.
  2. Step 2: Check each option

    class Person { } matches the correct syntax: class Person { }. Others have incorrect order or keywords.
  3. Final Answer:

    class Person { } -> Option C
  4. Quick Check:

    Correct class syntax = class Name { } [OK]
Hint: Use 'class ClassName { }' to define a class [OK]
Common Mistakes:
  • Swapping 'class' and class name
  • Using '=' sign in class definition
  • Using wrong keywords like 'define'
3. What will be the output of this Java code?
class Dog {
  String name = "Buddy";
}

public class Main {
  public static void main(String[] args) {
    Dog d = new Dog();
    System.out.println(d.name);
  }
}
medium
A. Buddy
B. null
C. Dog
D. Compilation error

Solution

  1. Step 1: Understand object creation and field access

    The code creates a Dog object and accesses its field 'name' which is set to "Buddy".
  2. Step 2: Predict the printed output

    Printing d.name outputs the string "Buddy" stored in the object.
  3. Final Answer:

    Buddy -> Option A
  4. Quick Check:

    Object field value = Buddy [OK]
Hint: Access object fields with dot notation: object.field [OK]
Common Mistakes:
  • Expecting class name instead of field value
  • Thinking uninitialized fields print 'null'
  • Confusing syntax causing compile errors
4. Identify the error in this class definition:
class Animal {
  String type;
  void Animal() {
    type = "Mammal";
  }
}
medium
A. Class name should be lowercase
B. Constructor has void return type
C. Missing semicolon after type declaration
D. Field 'type' must be static

Solution

  1. Step 1: Check constructor syntax

    Constructors in Java must not have a return type, not even void.
  2. Step 2: Identify the error

    The method void Animal() is treated as a regular method, not a constructor, causing no constructor defined.
  3. Final Answer:

    Constructor has void return type -> Option B
  4. Quick Check:

    Constructor = no return type [OK]
Hint: Constructors never have a return type, not even void [OK]
Common Mistakes:
  • Adding void to constructor
  • Thinking semicolon needed after field
  • Believing class names must be lowercase
  • Assuming fields must be static
5. You want to create a class Book with a field title and a method printTitle() that prints the title. Which code correctly implements this?
hard
A. class Book { String title; void printTitle() { System.out.println("title"); } }
B. class Book { String title; void printTitle() { print(title); } }
C. class Book { String title; void printTitle() { System.out.print("title"); } }
D. class Book { String title; void printTitle() { System.out.println(title); } }

Solution

  1. Step 1: Check method to print field value

    Method should use System.out.println with the field variable title to print its value.
  2. Step 2: Evaluate each option

    Options printing the literal "title" (with or without newline) are incorrect. Calling undefined print(title) causes an error. Only System.out.println(title) correctly prints the field value.
  3. Final Answer:

    class Book { String title; void printTitle() { System.out.println(title); } } -> Option D
  4. Quick Check:

    Print field with System.out.println(field) [OK]
Hint: Use System.out.println(field) to print variable content [OK]
Common Mistakes:
  • Using print() instead of println()
  • Printing string literal instead of variable
  • Calling undefined print() method