1. An interface is a blueprint of a class that defines abstract methods but does not provide method implementations. Interfaces are used to achieve abstraction and multiple inheritance in Java.
2. The properties of interfaces are that they can only contain abstract methods and static final fields, cannot be instantiated, and implemented classes must implement all interface methods.
3. A sample program demonstrates defining a Drawable interface with a draw() method and implementing class Rectangle that provides the draw() method implementation.