জাভাতে কেন Static লিখব? এর সুবিধা কি?

asked 10 Jan '15, 18:00

Tanvir%20Ahmed's gravatar image

Tanvir Ahmed
1114


Java তে Variable আর Method গুলো Object এর অধীনে থাকে। Object instantiate না করে কোন variable access করা যায় না বা method call করা যায় না।

যদি কোন 'variable' বা 'method' কে static হিসেবে declare করা হয় তাহলে সেটা object এর অধীনে না থেকে class এর অধীনে থাকে। সেই class এর যত Object instantiate করা হোক না কেন, static variable একটাই থাকে, এমনকি যেকোন static member (Variable/method) class এর object instantiate না করেও করা যায়। (সরাসরি class reference থেকে)

যদি কোন class এ static block থাকে, Java Virtual Machine class loading/linking/initializing এর সময়ে সেই static block এর statement execute করে।

class StaticTest {
    private static int n = 10;
    private static int m = 20;
    static {
        System.out.println("Value of n : " + n);
    }

    public static int getM() {
        return m;
    }

    public static void main(String []args) {
        System.out.println("Value of m : " + StaticClass.getM());
    }
}

এই কোডটির আউটপুট হবে এরকম:

Value of n 10
Value of m 20
permanent link

answered 21 Jan '15, 13:54

saikat107's gravatar image

saikat107
714

edited 02 Feb '15, 14:19

tahmidrafi's gravatar image

tahmidrafi ♦♦
1.1k214

Class এর ফাংশনসমূহকে ক্লাশের কোন প্রকার অবজেক্ট Instantiate না করে কল করতে চাইলে ঐ ফাংশনটি Static হিসেবে ঘোষনা করতে হবে। জাভাতে সাধারনত ক্লাস সমূহের অবজেক্ট ইনস্টেনশিয়েট করে প্রতিটি ক্লাশের অবজেক্ট দ্বারা ওই ফাংশনকে কলা করা হয়। কিন্তু যদি আপনি অবজেক্ট ক্রিয়েট না করে ফাংশনসমূহ কল করতে চান তাহলে অবশ্যই Static Declare করতে হবে।

লক্ষ্য করুন জাভার main Function টিও কিন্তু Static-

class test{
 public static void main(String[] args) {
     function();
  }

}

এখানে Static দেওয়ার মানেই হচ্ছে সে কোন প্রকার অবজেক্ট ইনস্টেনশিয়েট না করেই মেইন ফাংশনকে কল করবে। কিন্তু যদি তা না করা হত, তাহলে এই ক্লাশের মেইন ফাংশনকে সে কল/রান/এক্সিকিউট করতে পারতো না।

permanent link

answered 10 Jan '15, 19:39

mylex's gravatar image

mylex
5615

See this answer (as it was asked earlier i am giving you the link.)

permanent link

answered 11 Jan '15, 06:03

Kaiser%20Ahmed's gravatar image

Kaiser Ahmed
3.2k522

static method ব্যাবহার করে class এর কোন object বানানো ছাড়ায় class এর যেকোনো function call করা যায় ।

class Languages {

public static void main(String[] args) {

display();

}

static void display() {

System.out.println("Java is my favorite programming language.");

}

}

permanent link

answered 10 Jan '15, 18:15

ishahriyar's gravatar image

ishahriyar
9519

edited 10 Jan '15, 23:08

Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Question tags:

×210

question asked: 10 Jan '15, 18:00

question was seen: 4,403 times

last updated: 02 Feb '15, 14:19