Skip to main content

Instance Method in Java

  • An instance method is a method that belongs to an instance of a class.

  • It operates on the instance variables of the object and can access and modify these variables.

  • Instance methods are used to define the behavior or functionality that an object can perform.

Key Characteristics of Instance Methods​

  • Belongs to an Object: Instance methods are called on objects.

  • Can Access Instance Variables: They can access and modify the instance variables of the object.

  • No static Keyword: Instance methods are not declared with the static keyword.

  • Requires an Object to Call: You need to create an object of the class to call an instance method.

Example of an Instance Method​

Let's look at an example to understand how to define and use instance methods in Java.

Defining the Class​

 class Car {
// Instance variables
String color;
String model;
int year;

// Constructor
public Car(String color, String model, int year) {
this.color = color;
this.model = model;
this.year = year;
}

// Instance method
public void displayDetails() {
System.out.println("Car Model: " + model);
System.out.println("Car Color: " + color);
System.out.println("Car Year: " + year);
}

// Another instance method
public void repaint(String newColor) {
this.color = newColor;
System.out.println("The car has been repainted to " + newColor);
}
}

Using the Instance Methods​

public class Main {
public static void main(String[] args) {
// Creating an object of the Car class
Car myCar = new Car("Red", "Toyota", 2020);

// Calling the displayDetails method
myCar.displayDetails();

// Repainting the car and calling the displayDetails method again
myCar.repaint("Blue");
myCar.displayDetails();
}
}

Explanation:​

  • Instance Variables: String color, String model, and int year are instance variables.

  • Constructor: Initializes the instance variables with the provided values.

  • displayDetails Method: Prints the details of the car.

  • repaint Method: Changes the color of the car and prints a message.

The output will be:

Car Model: Toyota
Car Color: Red
Car Year: 2020
The car has been repainted to Blue
Car Model: Toyota
Car Color: Blue
Car Year: 2020

Key Concepts​

Accessing Instance Methods​

Instance methods are accessed using the object reference followed by the dot (.) operator.

myCar.displayDetails();

Modifying Instance Variables​

Instance methods can modify the instance variables of the object.

public void repaint(String newColor) {
this.color = newColor;
}

Using this Keyword​

  • The this keyword in an instance method refers to the current object.

  • It is used to distinguish between instance variables and parameters with the same name.

public void repaint(String newColor) {
this.color = newColor;
}

Calling Other Instance Methods​

Instance methods can call other instance methods using the this keyword or directly.

public void repaint(String newColor) {
this.color = newColor;
this.displayDetails(); // Calling another instance method
}

Advantages of Instance Methods​

  • Encapsulation: Instance methods help in encapsulating the behavior related to the object.

  • Reuse: Methods can be reused across different objects of the same class.

  • Maintainability: Methods make the code more organized and maintainable.

Example with Multiple Instance Methods​

Let's see another example with multiple instance methods.

 class BankAccount {
// Instance variables
private double balance;

// Constructor
public BankAccount(double initialBalance) {
this.balance = initialBalance;
}

// Instance method to deposit money
public void deposit(double amount) {
if (amount > 0) {
balance += amount;
System.out.println("Deposited: " + amount);
} else {
System.out.println("Invalid deposit amount");
}
}

// Instance method to withdraw money
public void withdraw(double amount) {
if (amount > 0 && amount <= balance) {
balance -= amount;
System.out.println("Withdrawn: " + amount);
} else {
System.out.println("Invalid withdraw amount");
}
}

// Instance method to display balance
public void displayBalance() {
System.out.println("Balance: " + balance);
}
}

public class Main {
public static void main(String[] args) {
// Creating an object of the BankAccount class
BankAccount myAccount = new BankAccount(1000.00);

// Calling instance methods
myAccount.deposit(500.00);
myAccount.withdraw(200.00);
myAccount.displayBalance();
}
}

Explanation:​

  • Instance Variables: private double balance is an instance variable.

  • Constructor: Initializes the balance with the provided value.

  • deposit Method: Adds money to the balance if the amount is positive.

  • withdraw Method: Subtracts money from the balance if the amount is positive and less than or equal to the balance.

  • displayBalance Method: Prints the current balance.

The output will be:

Deposited: 500.0
Withdrawn: 200.0
Balance: 1300.0

Summary​

  • Instance Method: A method that belongs to an instance of a class and operates on instance variables.

  • Characteristics:

  1. Belongs to an object.

  2. Can access and modify instance variables.

  3. Does not use the static keyword.

  4. Requires an object to call.

  • Access: Accessed using the object reference.

  • Modifying Variables: Can modify the instance variables of the object.

  • this Keyword: Refers to the current object and is used to distinguish between instance variables and parameters.

  • Advantages: Encapsulation, reuse, and maintainability.

Understanding instance methods is crucial for defining the behavior of objects in your Java programs.