In reply to munish kumar:
A terminology clarification:
There is no such thing as a static class in SystemVerilog - all classes are dynamically constructed. What this code is doing is declaring a static variable that can hold a handle to a class object.
You may want to take a look at my SystemVerilog OOP course that covers the use of the local and static keywords, as well as the singleton pattern.