जब मैं अपने जावा एनम डे को संकलित करता हूं, तो यह उसकी डे.क्लास फ़ाइल और 8 दिन $ # कक्षा फाइल जेनरेट करता है, इसलिए मैं जानना चाहता हूं कि संकलक 7 की बजाय 8 $ # कक्षा क्यों उत्पन्न करता है, क्योंकि मेरे पास 7 enum स्थिरांक हैं , लेकिन 8 एनोटेशन को ओवरराइड करते हैं, मैंने समझा है कि डॉलर.क्लास फाइलें हर आंतरिक वर्ग या एनम स्थिरांक द्वारा उत्पन्न की जाती हैं, लेकिन आठ .class फ़ाइल के बारे में क्या है जिसके लिए यह उत्पन्न होता है?
package com.kaissersoft.test.objective.one.three.enums;
public enum Day{
SUNDAY(01){
@Override
public void salute(){
System.out.println("Today is Sunday");
}
},
MONDAY(02){
@Override
public void salute(){
System.out.println("Today is Monday");
}
},
TUESDAY(03){
@Override
public void salute(){
System.out.println("Today is Tuesday");
}
},
WEDNESDAY(04){
@Override
public void salute(){
System.out.println("Today is Wednesday");
}
},
THURSDAY(05){
@Override
public void salute(){
System.out.println("Today is Thursday");
}
},
FRIDAY(06){
@Override
public void salute(){
System.out.println("Today is Friday");
}
},
SATURDAY(07){
@Override
public void salute(){
System.out.println("Today is Saturday");
}
};
int dayNumber;
Day(final int day){
dayNumber = day;
}
public int getDayNumber(){
return dayNumber;
}
@Override
public String toString(){
switch(this){
case SUNDAY:
System.out.println("Sunday("+this.getDayNumber()+")");
break;
case MONDAY:
System.out.println("Monday("+this.getDayNumber()+")");
break;
case TUESDAY:
System.out.println("Tuesday"+this.getDayNumber()+")");
break;
case WEDNESDAY:
System.out.println("Wednesday("+this.getDayNumber()+")");
break;
case THURSDAY:
System.out.println("Thursday("+this.getDayNumber()+")");
break;
case FRIDAY:
System.out.println("Friday("+this.getDayNumber()+")");
break;
case SATURDAY:
System.out.println("Saturday("+this.getDayNumber()+")");
break;
}
return super.toString();
}
//Abstract method to the day Salute
public abstract void salute();
}
और यह उत्पन्न करता है:
- Day.class
- डे $ 1.class
- डे $ 2.class
- डे $ 3.class
- डे $ 4.class
- दिन $ 5.class
- दा y $ 6.class
- डे $ 7.class
- डे $ 8.class
@ सॉटिरियोसेलिमैनोलिस वास्तव में नहीं, सज्जन यहां जानते हैं कि नाम में डॉलर के हस्ताक्षर वाले वर्ग क्या हैं, वह कुछ और पूछ रहा है। –
(आप जानते हैं कि आप वहां ऑक्टल स्थिरांक का उपयोग कर रहे हैं?) –
मैं कंपाइलर के साथ खेल रहा था और मैंने टॉस्ट्रिंग ओवरराइड के अंदर स्विच को घटा दिया है और यह 7 .class फ़ाइलों को उत्पन्न करता है, इसलिए मुझे लगता है कि आठ एक enum द्वारा उत्पन्न होता है स्विच ?? किसी को पता है कि यह जवाब है या नहीं? – Eefret