An interface is the sketch of your real class

interface java

EXAMPLE (4 STEPS)

  1. You make the interface; WHAT KIND OF CLASS SHOULD I MAKE?
    package Interface;
    
    public interface InterfaceClass {
    
       // constant declarations, if any
    
       // method signatures
       
       // An enum with values RIGHT, LEFT
       int turn(String direction,
                double radius,
                double startSpeed,
                double endSpeed);
       int changeLanes(String direction,
                       double startSpeed,
                       double endSpeed);
       int signalTurn(String direction,
                      boolean signalOn);
       int getRadarFront(double distanceToCar,
                         double speedOfCar);
       int getRadarRear(double distanceToCar,
                        double speedOfCar);
    
       // more method signatures
    }
  2. You create the main class which EXTENDS the abstract class
    package Interface;
    
    public class ImplementationClass implements InterfaceClass {
    	
    }
  3. add unimplemented methods in REAL classinterface java
  4. RESULT
    Interface
    package Interface;
    
    public interface InterfaceClass {
    
       // constant declarations, if any
    
       // method signatures
       
       // An enum with values RIGHT, LEFT
       int turn(String direction,
                double radius,
                double startSpeed,
                double endSpeed);
       int changeLanes(String direction,
                       double startSpeed,
                       double endSpeed);
       int signalTurn(String direction,
                      boolean signalOn);
       int getRadarFront(double distanceToCar,
                         double speedOfCar);
       int getRadarRear(double distanceToCar,
                        double speedOfCar);
    
       // more method signatures
    }
    IMPLEMENTATION CLASS
    package Interface;
    
    public class ImplementationClass implements InterfaceClass {
    
    	@Override
    	public int turn(String direction, double radius, double startSpeed, double endSpeed) {
    		// TODO Auto-generated method stub
    		return 0;
    	}
    
    	@Override
    	public int changeLanes(String direction, double startSpeed, double endSpeed) {
    		// TODO Auto-generated method stub
    		return 0;
    	}
    
    	@Override
    	public int signalTurn(String direction, boolean signalOn) {
    		// TODO Auto-generated method stub
    		return 0;
    	}
    
    	@Override
    	public int getRadarFront(double distanceToCar, double speedOfCar) {
    		// TODO Auto-generated method stub
    		return 0;
    	}
    
    	@Override
    	public int getRadarRear(double distanceToCar, double speedOfCar) {
    		// TODO Auto-generated method stub
    		return 0;
    	}
    	
    }