संभव डुप्लिकेट:
Type-parameterized field of a generic class becomes invisible after upgrading to Java 7पैरामीटर का निजी फ़ील्ड जावा 6 में जेनेरिक विधि के लिए क्यों दिखाई देता है लेकिन जावा 7 में नहीं?
public class Test{
private String _canYouSeeMe = "yes";
<T extends Test> void genericMethod(T hey){
String s = hey._canYouSeeMe;
}
void method(Test hey){
String s = hey._canYouSeeMe;
}
}
जब JDK 1.6 के खिलाफ निर्माण इस ठीक संकलित लेकिन 1.7 के खिलाफ genericMethod() में एक संकलक त्रुटि है: क्षेत्र टेस्ट। _canYouSeeMe दिखाई नहीं दे रहा है
त्रुटि को _canYouSeeMe संरक्षित करके हल किया जा सकता है निजी की तुलना में है, लेकिन मैं बस सोच रहा हूँ क्या 1.6 से 1.7
त्रुटि या चेतावनी संकलन होगा? – kosa
क्यों नहीं? यह एक ही कक्षा का एक तरीका है, है ना? और गैर स्थैतिक भी। – Qnan
@fmucar openjdk 1.6.0_24 के साथ यहां संकलित ठीक है। –