है कि से संदर्भित नहीं किया जा सकता चलाने क्योंकि चर नाम और एल्बम मुख्य प्रक्रिया में मौजूद नहीं है, क्योंकि यह स्थैतिक है, जिसका अर्थ यह है कि यह आवृत्ति-स्तर के सदस्यों तक नहीं पहुंच सकता है। आप सिंगर वर्ग का एक उदाहरण है, इस तरह की आवश्यकता होगी:
public static void main(String[] args) {
Singer s = new Singer();
System.out.println("Name of the singer is " + s.name);
System.out.println("Album information stored for " + s.album);
}
हालांकि, जब तक आप एक सार्वजनिक उपयोग संशोधक के साथ अपना नाम/एल्बम के सदस्यों की घोषणा, ऊपर कोड को संकलित करने के असफल हो जायेगी। मैंने encapsulation से लाभ प्राप्त करने के लिए, प्रत्येक सदस्य (getName(), getAlbum(), आदि) के लिए एक गेटर लिखने की सिफारिश की। इस तरह:
class Singer {
private String name;
private String album;
public Singer() {
this.name = "Whitney Houston";
this.album = "Latest Releases";
}
public String getName() {
return this.name;
}
public String getAlbum() {
return this.album;
}
public static void main(String[] args) {
Singer s = new Singer();
System.out.println("Name of the singer is " + s.getName());
System.out.println("Album information stored for " + s.getAlbum());
}
}
एक अन्य विकल्प तो आप उन्हें जिस तरह से आप मूल रूप से करना में देख सकते हैं नाम और एलबम के रूप में स्थिर घोषित करने के लिए किया जाएगा।
स्रोत
2010-11-19 16:01:01
'... + s.name); ... + s.album); ' – khachik
बीटीडब्लू, उपर्युक्त कोड संकलित और ठीक चलाएगा, अगर नाम 'निजी' से 'सिंगर' से संबंधित है तो नाम निजी है। – khachik