class variables
और instance
चर के बीच का अंतर , केवल एक सवाल है who knows what?
।
उस ठोस उदाहरण के लिए instance variable
केवल एक ज्ञात (= बाध्य ) है - इसलिए नाम।
public class Person {
private String firstName;
private String lastName;
[...]
}
एक वर्ग की परिभाषा ठोस वस्तुओं के निर्माण के लिए एक खाका की तरह है । शायद यह बात आपको थोड़ा भ्रमित कर दे। लेकिन इसे इस तरह से लिखना, प्रत्येक चर अपनी ठोस वस्तु के लिए बाध्य होगा: जैसे कि प्रत्येक व्यक्ति का पहला नाम है
एक class variable
दूसरे हाथ पर है - जैसा कि नाम से कहते हैं - प्रत्येक और एक वर्ग के हर सदस्य के लिए जाना जाता है; या तकनीकी रूप से: यह वर्ग स्तर पर ज्ञात / बाध्य है । विशिष्ट उदाहरण कितनी वस्तुओं का एक काउंटर है, आपने बनाया है - हालांकि यह एक बहुत ही समस्याग्रस्त उदाहरण है; लेकिन यह इस प्रारंभिक चरण में कोई फर्क नहीं पड़ता।
public class Person {
private String firstName;
private String lastName;
[...]
static int numberOfPersons = 0
}
numberOfPersons
घोषित किया जाता है static
जो कीवर्ड के बीच distingush है class variables
और instance variabes
। चर को वर्ग परिभाषा के भीतर अन्य की तरह घोषित किया जाता है। लेकिन static
कीवर्ड संकेत देता है, कि यह अलग है।
firstName
, lastName
कर रहे हैं उदाहरण चर और कहा कि ठोस उदाहरण के लिए बाध्य
numberOfPersons
वर्ग के लिए बाध्य है, ताकि हर उदाहरण इस चर का उपयोग कर सके।
tl; डॉ
वह स्थान जहाँ चर को परिभाषित किया जाता है, वर्ग परिभाषा है।
वर्ग चर कक्षा स्तर पर / से बंधे हुए होते हैं, अर्थात प्रत्येक ठोस उदाहरण के पास इसकी पहुँच होती है। एक वर्ग चर को परिभाषित करने के लिए, आप कीवर्ड का उपयोग करते हैं static
।
इंस्टेंस वेरिएबल्स को केवल एक इंस्टेंस लेवल पर जाना जाता है। आप उन्हें बिना static
कीवर्ड के परिभाषित करते हैं ।
जावा के लिए आगे प्रलेखन यहाँ है