से नेस्टेड प्रकारों को आयात करने का प्रयास कर रहा हूं, मुझे पता नहीं लगा कि यह क्यों काम नहीं करता है। मेरे शीर्ष-स्तरीय वर्ग अज्ञात पैकेज में हैं (अभी के लिए; मैं बाद में पैकेज स्थापित करने की योजना बना रहा हूं)।वर्ग
Iclass1.java:
public class Iclass1 {
public static class Nested1 {
// whatever
}
}
Iclass2.java:
import Iclass1.*;
public class Iclass2 {
private Nested1 someMember;
// etc.
}
बाद मैं कोई त्रुटि के साथ Iclass1.java
संकलन, संकलक की शिकायत जब मैं Iclass2.java
संकलन: "त्रुटि: पैकेज Iclass1 मौजूद नहीं है "।
लेकिन JLS कहते हैं: (7.5.2)
import PackageOrTypeName . * ;
The PackageOrTypeName must be the canonical name (§6.7) of a package, a class type, an interface type, an enum type, or an annotation type.
और: (6,7)
The fully qualified name of a top level class or top level interface that is declared in an unnamed package is the simple name of the class or interface.
For every primitive type, named package, top level class, and top level interface, the canonical name is the same as the fully qualified name.
तो ऐसा लगता है Iclass1 तरह प्रकार मैं का प्रामाणिक नाम है मैं import
में उपयोग करने की कोशिश कर रहा हूं। मैं क्या गलत कर रहा हूं?
(पी एस मैं अब लगता है import static
बेहतर होता है, लेकिन यह या तो काम नहीं करता।)
लेकिन - सभी पर - सही जवाब कौन सा है? –
साजल का अब-संपादित उत्तर प्रश्न को सही तरीके से संबोधित करता है। अन्य उत्तरों या तो गलत हैं (सुझाए गए समाधान काम नहीं करते हैं) या अनुपयोगी (वे सिर्फ "ऐसा नहीं करते") या दोनों कहते हैं। –