-->

Static keyword in java সম্পূর্ণ বাংলা ভাষায় শিখুন | Java Programming Part -9

3 minute read

 Static keyword in java সম্পূর্ণ বাংলা ভাষায় শিখুন | Java Programming Part -9

Static keyword in java
Static keyword in java

"Static" একটি মৌলিক keyword যা ব্যবহার করা হয় variable, method, class বা block সাথে। এটি একটি class, method, বা variable-কে static বানানোর কাজে ব্যবহার করে।
Java-র class-র ভিতরে যে member variable create করে তার পূর্বে Static keyword লিখে, Static Variable-এ পরিবর্তন করা হয়।  যথা- 

public class Example
{
  int x; //Instance Variable 
[Instance member function শুধু Example class-র object-র মাধ্যমে নিয়ন্ত্রণ করা যায়। ]
static int y; //Static member Variable
public void fun1( ){...} //Instance member function
public static void fun2( ){...} //static member function
}

Function/Method-র ভিতরে static veriable ব্যবহার হয় না। যথা- public void fun1( ) { static int a; }
এটি ভুল একটি লাইন (static int a)
কিন্তু static Inner class crate করা যায়। (class-র ভিতরে যে class create করা হয় তাকে Inner class বলে।)যথা-
public class Example
{
  int x;
static int y;
public static void fun2( ){...}

static class Test
    {...}
[Inner class-র পূর্বে static keyword ব্যবহার করে static inner class create করা হয়েছে।]
}

Java-র main function-টি একটি Static function।
public class Example
{
  int x;
static int y;
public static void main(String arg[ ] )
{

     }
}

Static variable

Static variable সম্পূর্ণ class-র জন্য শুধুমাত্র একবার create হয়। Main function-র ভিতরে Example class-র জন্য যে কয়েকটি Object create করা হয় । Instant Variable প্রতিটি object-এ একটি করে memory occupy করে। কিন্তু Static Variable object-র ভিতর memory occupy করে না। কারণ Static Variable কোনো object-র variable নয়, এটি সম্পূর্ণ class -র variable।

public class Example
{
  int x;
static int y;
public static void main(String arg[ ] )
{
            Example exm1 = new Example();
            Example exm2 = new Example();
     }
}

নিচের ছবিটির দেখুন-
চিত্রে দেখুন, Static variable শুধু মাত্র একবার memory  occupy  করে। Object create-র সঙ্গে কোনো সম্পর্ক নেই। Main function-র ভিতরে Object না থাকলে, instance variable memory  occupy করতে পারে না। কিন্তু Static variable class create -র সঙ্গেই static  memory জায়গা করে নেয়।  

Main function-র ভিতর Static variable-কে Access:
public class Example
{
  int x;
static int y;
public static void main(String arg[ ] )
{
            Example exm1 = new Example();
            Example exm2 = new Example();
            Example.y = 3; //class_name .(dot) static variable name
     }
}
Static variable-র ভিতরে value '3' initialization করা হয়েছে। যদি কোনো value initialization করা না হত, তবে default value '0' হত।

Static function

Class-র ভিতরে static keyword দিয়ে static function create করা হয়। static function কোনো নির্দিষ্ট object-র function নয়, এটি সম্পূর্ণ class -র function।
Main function-র ভিতর Static Function-কে Access:

public class Example
{
       public void fun1( ){...}
      static public void fun2( ){...}
       public static void main(String arg[ ] )
{
            Example.fun2( ); //class_name .(dot) static function name
      }
}

Static function শুধু static member-কে access করতে পারে। কারণ static member function-কে call করতে object ব্যবহার করা হয় না। নিচে দেখুন,

public class Example
{
       int x;
static int y;

       public void fun1( ){...}
      static public void fun2( )
        {
            x = 4; এটি ভুল একটি লাইন (int x)
        }
       public static void main(String arg[ ] )
{
            Example.fun2( );
      }
}

কিন্তু,
static public void fun2( )
        {
            y = 4; এটি সঠিক কারণ y একটি static member variable।
        }