class variablesএবং instanceভেরিয়েবলের মধ্যে পার্থক্যটি কেবল একটি প্রশ্ন who knows what?।
একটি instance variableকেবল সেই কংক্রিটের উদাহরণ হিসাবে পরিচিত (= আবদ্ধ ) - সুতরাং নামটি।
public class Person {
private String firstName;
private String lastName;
[...]
}
শ্রেণীর সংজ্ঞাটি কংক্রিটের জিনিসগুলি তৈরির একটি নীলনকের মতো like সম্ভবত এই পয়েন্ট আপনাকে কিছুটা বিভ্রান্ত করে । তবে এটি এইভাবে লেখার সাথে সাথে প্রতিটি পরিবর্তনশীল তার কংক্রিট অবজেক্টের সাথে আবদ্ধ হবে: উদাহরণস্বরূপ প্রতিটি ব্যক্তির নিজস্ব প্রথম নাম রয়েছে
একটি class variableঅন্যদিকে হয় - যেমন নাম বলছেন - প্রতিটি এবং একটি বর্গ প্রতিটি সদস্যের কাছে পরিচিত; বা প্রযুক্তিগতভাবে: এটি শ্রেণি স্তরে পরিচিত / আবদ্ধ । সাধারণ উদাহরণটি আপনি কতগুলি বস্তুর তৈরি করেছেন তার একটি পাল্টা - যদিও এটি একটি খুব সমস্যাযুক্ত উদাহরণ; তবে এটি প্রাথমিক পর্যায়ে কিছু যায় আসে না।
public class Person {
private String firstName;
private String lastName;
[...]
static int numberOfPersons = 0
}
numberOfPersonsঘোষিত হয় staticযা class variablesএবং এর মধ্যে দূর করার কীওয়ার্ড instance variabes। শ্রেণীর সংজ্ঞার মধ্যে অন্যান্যগুলির মতো ভেরিয়েবল ঘোষিত হয়। তবে staticকীওয়ার্ড সিগন্যাল, এটি আলাদা।
firstName, lastNameহয় উদাহরণস্বরূপ ভেরিয়েবল এবং যে কংক্রিট উদাহরণ হিসেবে বলা যায় বাধ্য
numberOfPersons ক্লাসে আবদ্ধ, যাতে প্রতিটি ইভেন্ট এই পরিবর্তনশীল অ্যাক্সেস করতে পারে।
TL; ড
যে স্থানে ভেরিয়েবল সংজ্ঞায়িত করা হয় তা ক্লাস সংজ্ঞা।
ক্লাস ভেরিয়েবলগুলি ক্লাস স্তরে বা সীমাবদ্ধ হিসাবে পরিচিত, অর্থাত প্রতিটি কংক্রিটের উদাহরণটিতে এটির অ্যাক্সেস রয়েছে। শ্রেণি ভেরিয়েবল সংজ্ঞায়িত করতে আপনি কীওয়ার্ডটি ব্যবহার করেন static।
ইনস্ট্যান্স ভেরিয়েবলগুলি কেবলমাত্র একটি উদাহরণ স্তরে পরিচিত। আপনি staticকীওয়ার্ড ছাড়াই এগুলি সংজ্ঞায়িত করেন ।
জাভা জন্য আরও ডকুমেন্টেশন এখানে