Java

final keyword

ফাইনাল একটি কিওয়ার্ড, যেটি জাভাতে নিম্নের ৩টি গুরুত্বপূর্ণ কাজের জন্য ব্যবহৃত হয়ে থাকে।

>> ভেরিয়েবল

ইনহেরিটেন্সঃ

>> মেথোড ( মেথোড ওভাররাইন্ডিং দূর করার জন্যে )

>> ক্লাস ( ইনহেরিটেন্স দূর করার জন্যে )

এটি মূলত ইউজারকে কিছু জিনিস ব্যবহার থেকে বাধা দেয়।

ভেরিয়েবলের জন্যে ফাইনাল কিওয়ার্ডঃ

final int a;

final int b = 10;

একটি ভেরিয়েবলকে ফাইনাল করা হলে তা কন্সটেন্ট এর মত কাজ করে, যা অপরবর্তনীয়।

উপরের ভেরিয়েবল a  কে কোন ভেলু দেওয়া হয়নি। এটাকে শুধু কন্সট্রাক্টর দ্বারাই এসাইন করা যাবে।

  1. class example{
  2.    final int a;
  3.    void example(){
  4.     a = 40;
  5.  }

another example:

  1. class example{
  2.    final int a=90;
  3.    void method(){
  4.     a = 400;
  5.  }
  6.  public static void main(String args[]){
  7.     example obj = new  example();
  8.     obj.method();
  9.  }
  10. }

Output:Compile Time Error

***এখনকার আলোচনার মাঝের দুইটি বিষয় ইনহেরিটেন্সের সাথে জড়িত।

মেথোডের জন্যে ফাইনাল কিওয়ার্ডঃ

একটি মেথোডকে ফাইনাল করা হলে সেটিকে অভাররাইড করা যায় না।

*** অভাররাইড কি?

<< সুপারক্লাসের কোন মেথোডকে সাবক্লাসেও একই নাম ও রিটার্ন টাইপ দ্বারা ডিফাইন করা হলে, সুপারক্লাসের মেথোডকে ওভাররাইড করা হয়েছে বলা হয়। >>

  1. class example{
  2.    final void method(){
  3.       System.out.println(“running safely with 10kmph”);
  4.  }

 

  1. class B extends example{
  2.    void method{ System.out.println(“running safely with 100kmph”);}
  3.    public static void main(String args[]){
  4.  B obj = new B();
  5.    obj.method();
  6.    }
  7. }

Output:Compile Time Error

ক্লাসের জন্যে ফাইনাল কিওয়ার্ডঃ

কোন ক্লাসের পূর্বে ফাইনাল ব্যবহার করা হলে সেটিকে আর এক্সটেন্ড করা যায় না। কোন সময় আমরা চাইবো কোন নির্দিষ্ট ক্লাস যেটিকে আর এক্সটেন্ড করা যাবেনা ঠিক তখনি এর প্রয়োজন দেখা দেয়। তবে এটি খুব কম।

final class A {

…………

………….

……….

}

class B extends A {

…………

…………

}

Output:Compile Time Error

]

** একটিমেথোডেরপ্যারামিটারওফাইনালহতেপারে।

  1. class A{

……………….

……………..

  1.   int cube(final int n){
  2.    n=n+2;  /*n এর মান পরিবর্তন করা যাবেনা। এটি এখানে ফাইনাল, কোন্সটেন্ট */
  3. /*  এটি যা ভেলু নিয়ে প্রথমে আসবে মেথোডের প্রতি কাজের সেই ভেলুই থাকবে */

……………

……….

  1.   }

 

Leave a Reply

Your email address will not be published.

five × 5 =