Constructor in Java

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.