Question: As we use "default" keyword as a access specifier, and it can be used in switch statements as well with complete different purpose, So i was curious that is there any other keywords in java which can be used in more then one purposes

Answer: 
The `default` keyword is not used as an access specifier. The absence of `private`, `protected` and `public` means use of `default`.

Example:

```
class Test { // default access for class.

 int A; // default access for the class member.
}

```

Some examples of Java keywords which find different use are:

* `final` : A `final` `class` cannot be subclassed, a `final` method cannot be overridden, and a `final` variable can occur at most once as a left-hand expression.
* `Super`: Used to access members of a class inherited by the class in which it appears, also used to forward a call from a constructor to a constructor in the superclass.
* `Static`: Used to create `static` initialization blocks, also `static` members and `static` imports.
* `for`:Used for the conventional `for` loop and the newer Java 1.5 `enhanced for` loop.
You can think of the following things 

1. Default
2. final
3. super
4. "**:**" (colon) used at different places , which has a different meaning at different places