java - Why can't e.g. List<ChildClass> be passed to a method that takes a List<ParentClass> as parameter? -


सरल उदाहरण:

  सार्वजनिक वर्ग व्यक्ति {स्ट्रिंग का नाम; } सार्वजनिक वर्ग की वीआईपी व्यक्ति [स्ट्रिंग शीर्षक; }  

और फिर कर रहा है:

  सार्वजनिक स्थिर शून्य मुख्य (स्ट्रिंग [] आर्ग्स) {व्यक्ति p = नया व्यक्ति (); पी। नाम = "जॉन"; वीआईपी वीआईपी = नया वीआईपी (); Vip.name = "Bob"; Vip.title = "सीईओ"; सूची के & lt; व्यक्ति & gt; PersonList = नए अर्रेलिस्ट & lt; व्यक्ति & gt; (); सूची के & lt; वीआईपी & gt; VipList = नए अर्रेलिस्ट & lt; वीआईपी & gt; (); personList.add (पी); personList.add (वीआईपी); vipList.add (वीआईपी); printNames (personList); printNames (vipList); } सार्वजनिक स्थिर शून्य प्रिंट-नाम (सूची & amp; व्यक्ति; व्यक्ति & gt; व्यक्तियों) {for (व्यक्ति पी: व्यक्तियों) System.out.println (p.name); }  

"प्रिंटनॉम्स (वीपीएलआईएसटी)" पर एक त्रुटि देता है (आवश्यक सूची & lt; व्यक्ति & gt; सूचीबद्ध सूची & lt; वीआईपी & gt;)। इसका मतलब यह है कि हालांकि वीआईपी एक है व्यक्ति, सूची & lt; वीआईपी & gt; एक सूची & lt; व्यक्ति & gt;?

आप बस के नियमों से प्रतिबंधित हैं। यदि आप इस व्यवहार को "ठीक" करने में कैसे दिलचस्पी रखते हैं, तो बस प्रिंट नाम () विधि को सूची & lt; इसके बजाय व्यक्ति & gt; तर्क प्रदान करता है।


Comments

Popular posts from this blog

oracle - The fastest way to check if some records in a database table? -

php - multilevel menu with multilevel array -

jQuery UI: Datepicker month format -