(1) Cannot be instantiated (no instance)
/***********Static Class - FactorialClass ***********/
public static class FactorialClass //Static Class declaration
...
FactorialClass a = new FactorialClass (); // <= Not allow
/***********Static Class - FactorialClass ***********/
(2) Contain only static member
/***********Static Class - FactorialClass ***********/
public static class FactorialClass //Static Class
{
public static int Factorial(int i) //Static Member
{
return ((i <= 1) ? 1 : (1 * Factorial(i - 1)));
}
public int Factorial2(int i) //<= Non Static Member not allowed
{
return ((i <= 1) ? 1 : (1 * Factorial(i - 1)));
}
}
/***********Static Class - FactorialClass ***********/(3) Is Sealed (cannot inherit)
(4) Cannot contain instance constructor
(5) Access static member using class itself
/***********Static Class - FactorialClass ***********/
int fac = FactorialClass.Factorial(5); // Static class, all member must be static
/***********Static Class - FactorialClass ***********/
Static Member
(1) Static member can defined in static class or non-static class
- public static class FactorialClass //Static Class
- public class FactorialClass // Non Static Class
(2) Always accessed by the class name
- int fac = FactorialClass.Factorial(5); // Static class, all member must be static
(3) Can be called without instantiated
(4) Does not exist in instances.
- AddClass a = new AddClass(); //Instance a does not contain static member