Question

1.Design a Java interface called Priority that includes two methods: set Priority and get Priority. This interface would define away to establish numeric priority among a set of objects. Your numeric priority values should be on a scale. For easy comparing of priorities, make 1the lowest priority. It should be more complex than just 1, 2, 3 (low, medium,high). Define constants in the interface for the low, medium, and high priority values. Design and implement a class called Task that represents a task (such as on a to-do list) that implements the Priority interface from above, as well as the Comparable interface from the Java standard class library. A task should have some sort of description. Illustrate your design with a UML class diagram. Create a driver whose main method exercises some Task objects. Make sure you have enough tasks to produce comparisons where a given task is higher,lower, or equal in priority to some other task. Implement the interface such that the tasks are ranked by priority. Create a driver class that shows these new features of Task objects.

Fig: 1

Fig: 2

Fig: 3