Please disable adblock to view this page.

← Go home

Constructor in Java

java-display

May 2, 2017
Published By : Pratik Kataria
Categorised in:

Let’s Jump to Code

Vehicle.java file in folder path: K:\Constructor

import model.Bike;
import java.util.List;
import java.util.ArrayList;

public class Vehicle {
	public static void main( String[] args ){

		List<Bike> bikes = new ArrayList<>();
		// Bike bike1 = new Bike("Honda", 0x2E0456, 1);
		// bikes.add(bike1);
		// Bike bike2 = new Bike("Yamaha", 0x2E0854, 1);
		// bikes.add(bike2);
		// Bike bike3 = new Bike("Suzuki", 0x000000, 1);
		// bikes.add(bike3);

		//Below is fine tuned code but same as above:
		bikes.add(new Bike("Honda", 0x2E0456, 1));
		bikes.add(new Bike("Yamaha", 0x2E0854, 1));
		bikes.add(new Bike("Suzuki", 0x2E0555, 1));

		//BELOW CODE GIVES ERROR AS DATA IS PRIVATE
		// for(Bike b: bikes) {
		// 	System.out.println(b.name +" " + b.color + " " + b.gearOrNot);
		// }

		for(Bike b: bikes) {
		 	System.out.println(b.getName() +" " + b.getColor() + " " + b.getGearOrNot());
		}

	}
}

Bike.java file in folder path: K:\Constructor\model

package model;

public class Bike {

	private String name = "Honda";
	private long color = 0x2E0456;
	private int gearOrNot = 1;

	public Bike() {} //does nothing but must be defined and public

	public Bike(String name, long color, int gearOrNot) {
		this.name = name; 
		this.color = color;
		this.gearOrNot = gearOrNot;
	}

	public String getName() { return name; }

	public long getColor() { return color; }

	public int getGearOrNot() { return gearOrNot; }

}

Output

  • Honda 3015766 1
  • Yamaha 3016788 1
  • Suzuki 3016021 1

Notes

  • If you want to define your own constructor with arguments then you must explicitly declare the empty constructor.
  • Getters are used to get the value of private data.
  • Constructor must be public by default.
  • this keyword helps differentiate from the passed argument and instance variable.