में सार्वजनिक एनम के परिणाम का परिणाम मुझे संकलन-समय पर एक अनाम कक्षा मिल रही है जिसे मैं उम्मीद नहीं कर रहा हूं। प्रासंगिक कोड इस प्रकार है, तो एक अधिक विस्तृत विवरण:बेनामी कक्षा
CircuitType.java की सम्पूर्णता:
public enum CircuitType { V110A20, V110A30, V208A20, V208A30 }
Auditor.java से, लाइनों 3-9:
public class Auditor {
private String[] fileNames;
private int numV110A20;
private int numV110A30;
private int numV208A20;
private int numV208A30;
Auditor.java से, लाइनों 104-121:
[...]
switch (newCircuit.getType()) {
case V110A20:
this.numV110A20++;
break;
case V110A30:
this.numV110A30++;
break;
case V208A20:
this.numV208A20++;
break;
case V208A30:
this.numV208A30++;
break;
default:
System.err.println("An Error Has Occured.");
System.exit(-1);
break;
}
[...]
Circuit.java से, लाइनों 1-5:
public class Circuit {
private CircuitType myType;
public CircuitType getType() {
return this.myType;
}
[...]
जब आदेश
javac *.java
निष्पादित किया जाता है, एक गुमनाम वर्ग लेखा परीक्षक $ 1.java उत्पन्न होता है। फाइलें, जाहिर है, सभी एक फ़ाइल सिस्टम निर्देशिका में एक दूसरे के बगल में बैठते हैं जिसमें कुछ भी नहीं है।
जब लाइन 104-121 टिप्पणी की जाती है, तो कोई अज्ञात वर्ग उत्पन्न नहीं होता है।
मैंने पहली बार सोचा था कि यह एक पैकेज मुद्दा था, इसलिए तीन वर्गों को पैकेज में रखें, लेकिन मुझे इसे काम करने के लिए पैकेजों के बारे में पर्याप्त जानकारी नहीं थी। यदि यह वास्तव में एक पैकेज मुद्दा है, तो क्या कोई मुझे लेबल करने के तरीके के माध्यम से मुझे कदम दे सकता है? अगर मुझे ऐसा करने की ज़रूरत नहीं है, तो मुझे उन्हें पैकेज नहीं करना पड़ेगा।
अज्ञात वर्ग एक समस्या है, इस तथ्य के अलावा कि इस तरह के वर्ग आमतौर पर नामस्थान समस्या को इंगित करते हैं, यह है कि यह मेरे मेकफ़ाइल I को स्वचालित संकलन के लिए उपयोग करता है।
% javap 'Auditor$1'
Compiled from "Auditor.java"
class Auditor$1 extends java.lang.Object{
static final int[] $SwitchMap$CircuitType;
static {};
}
दुर्भाग्य से मैं इस समस्या के साथ मदद नहीं कर सकता, लेकिन +1 एक बहुत पोस्टिंग अच्छी तरह से सवाल पूछा। –
शायद यह वह उत्तर नहीं है जिसे आप सुनना चाहते थे, लेकिन 'मेक' वास्तव में जावा विकास के लिए उपयुक्त उपकरण नहीं है। मैं दृढ़ता से 'चींटी' का उपयोग करने की सलाह देता हूं। जैसे ही आप अधिक जटिल अनुप्रयोग विकसित करते हैं, आपके पास जगह पर अज्ञात कक्षाएं होंगी, और ठीक है। –
मुझे ऑडिटर.जावा के और अधिक देखने में दिलचस्पी होगी। आपने जो कहा है उसके आधार पर मुझे यह विश्वास करना मुश्किल लगता है कि सर्किट.जावा मुद्दा है। आपके अनुरोध के अनुसार – Shaun