2010-01-24 9 views
9

मैं संशोधक के साथ निम्नलिखित पैकेज घोषित कर सकते हैं, लेकिन यह कुछ भी पर कोई असर दिखाई नहीं देता:मॉडिफायरों को पैकेज के लिए अनुमति क्यों दी जाती है जब वे कुछ भी नहीं करते हैं?

private public protected static final package com.stackoverflow.mangodrunk 

// ... 
class Whatever { 
    // ... 
} 

तो मेरे सवाल है, करता है एक पैकेज decleration से पहले संशोधक जोड़ने कुछ भी कर और क्यों यह होगा संकलक द्वारा अनुमत?

अद्यतन: ग्रहण के साथ बंडल किए गए कंपाइलर के साथ कोई समस्या होने लगती है, क्योंकि अन्य ने उल्लेख किया है कि यह सूर्य के जेडीके का उपयोग करके एक कंपाइलर त्रुटि है।

+0

पवित्र बकवास, तुम सही हो, ग्रहण संकलक इस ठीक संकलित .... – skaffman

+0

यह एक काफी मामूली बग है, लेकिन अगर आप इसे रिपोर्ट करना चाहते हैं, तो आप यहां कर सकते हैं : https://bugs.eclipse.org/bugs/ – McDowell

उत्तर

7

वे नहीं हैं। आप किस कंपाइलर का उपयोग कर रहे हैं?

$ javac com/stackoverflow/mangodrunk/Whatever.java 

com/stackoverflow/mangodrunk/Whatever.java:1: class, interface, or enum expected 
private public protected static final package com.stackoverflow.mangodrunk; 
            ^
1 error 
+0

मैं जेडीके 1.6.0_17 का उपयोग कर रहा हूं, और आप सही हैं, जब मैं javac का उपयोग करके इसे संकलित करने का प्रयास करता हूं तो इसमें एक कंपाइलर त्रुटि होती है। लेकिन ग्रहण के तहत कोई समस्या नहीं है। – mangoDrunk

+1

ग्रहण जेडीके के बारे में क्या कहते हैं? – duffymo

+0

शायद उनके व्याकरण में एक मामूली त्रुटि यह "पैकेज" से पहले * कुछ भी * अनदेखा कर सकती है, न केवल टिप्पणियां? देखें कि क्या अन्य कीवर्ड भी अनदेखा कर रहे हैं। मुझे लगता है कि आपको बग की रिपोर्ट करनी चाहिए जब तक कि यह पहले से ही रिपोर्ट नहीं की गई हो। – Draemon

4

JLS के अनुसार, केवल बात यह है कि पूर्व में होना package कर सकते हैं एक एनोटेशन है।

PackageDeclaration: 
     Annotationsopt package PackageName ; 

लेकिन एक एनोटेशन इस (पूर्ण संक्षिप्तता के लिए छोड़े गए व्याकरण) की तरह दिखता है:

NormalAnnotation: 
     @ TypeName (ElementValuePairsopt) 

तो अपने संकलक मानक पहुंच संशोधक नहीं की इजाजत दी जानी चाहिए।

स्रोत: http://java.sun.com/docs/books/jls/third_edition/html/packages.html

संबंधित मुद्दे

 संबंधित मुद्दे