What is meant by a static class?

In reply to munish kumar:

Referring to IEEE 1800-2012 section 8.18:
local:

A member identified as local is available only to methods inside the class. Further, these local members are not visible within subclasses.

It is a from of data hiding. Sometimes, it is desirable to restrict access to class properties and methods from outside the class by hiding their names.

Referring to IEEE 1800-2012 section 8.9:
static:

The use of a static SystemVerilog variable implies that only one copy exists. A static method is subject to all the class scoping and access rules, but behaves like a regular subroutine that can be called outside the class, even with no class instantiation.

The above syntax, local static class inst, is used to create a singleton. Singleton is an object which can be shared among all the instances.

class A;
local static A a_singleton;
static function A get(); // function to return singleton handle
if(a_singleton == null)
  a_singleton = new; // create a_singleton once only
return a_singleton;
endfunction

class other_class; // many other classes can access single object using get method
A mya;
function some_method();
mya = A::get(); // get singleton handle
endfunction

This method is used in methodologies like UVM. For example, there is a single instance of uvm_root and uvm_factory library classes.