The following 
Bicycle
 class is one possible implementation of a bicycle:
class Bicycle {
       int cadence = 0;
       int speed = 0;
       int gear = 1;
       void changeCadence(int newValue) {
            cadence = newValue;
       }
       void changeGear(int newValue) {
            gear = newValue;
       }
       void speedUp(int increment) {
            speed = speed + increment;   
       }
       void applyBrakes(int decrement) {
            speed = speed - decrement;
       }
       void printStates() {
            System.out.println("cadence:"+cadence+" speed:"+speed+" gear:"+gear);
       }
}
cadence, speed, and gear represent the object's state,
and the methods (changeCadence, changeGear, speedUp etc.) define its interaction with the outside world.
You may have noticed that the Bicycle class does not contain a main method.
That's because it's not a complete application; it's just the blueprint for bicycles that might be used in an application. 
The responsibility of creating and using new Bicycle objects belongs to some other class in your application.
 Here's a 
BicycleDemo
 class that creates two separate Bicycle objects and invokes their methods:
class BicycleDemo {
     public static void main(String[] args) {
          // Create two different Bicycle objects
          Bicycle bike1 = new Bicycle();
          Bicycle bike2 = new Bicycle();
          // Invoke methods on those objects
          bike1.changeCadence(50);
          bike1.speedUp(10);
          bike1.changeGear(2);
          bike1.printStates();
          bike2.changeCadence(50);
          bike2.speedUp(10);
          bike2.changeGear(2);
          bike2.changeCadence(40);
          bike2.speedUp(10);
          bike2.changeGear(3);
          bike2.printStates();
     }
}
cadence:50 speed:10 gear:2 cadence:40 speed:20 gear:3