2013-06-05 7 views
6

मैं निम्नलिखित कोड एक काम के हिस्से के रूपजावा विस्तार क्लास वाली मुख्य विधि

class Base { 
    public static void main(String[] args){ 
    System.out.println("Hello World"); 
    } 
} 

public class Factorial extends Base{ 


} 

मेरे कार्य कोड को चलाने और उसके बाद फाइल का output.The नाम की व्याख्या है है है Factorial.java। कोड बिना किसी समस्या के चलाता है और हैलो वर्ल्ड मुद्रित है जो मुझे आश्चर्यजनक है। कोड टाइप करने से पहले, मैं सोच रहा था कि यह संकलित नहीं होगा क्योंकि अभिभावक वर्ग, जिसे विस्तारित किया जा रहा है, एक और फाइल में होना चाहिए लेकिन अब मुझे इतना यकीन नहीं है। बहुत स्पष्टीकरण की सराहना करेंगे।

+1

गृहकार्य? वैसे भी, यहां कुछ भी अजीब नहीं है। आप असमंजस में क्यों हो? –

+2

मुझे यह नहीं मिला, क्या आपका मतलब है 'फैक्टोरियल' उसी फ़ाइल में 'बेस' के रूप में है? आप "कोड चलाएं" कैसे करते हैं? – fge

+1

तो आप जिस आदेश को चलाने के लिए उपयोग करते हैं वह "जावा फैक्टोरियल" है? –

उत्तर

12

जावा आपको लगता है कि आप ज्यादा से ज्यादा एक public वर्ग और अगर आप तो यह है कि सार्वजनिक क्लास के नाम का नाम से मेल खाना चाहिए है हो सकता है शर्त के साथ एक एकल .java फ़ाइल के भीतर कई वर्गों को परिभाषित करने की अनुमति देता है .java फ़ाइल। आपके मामले में, कक्षा public घोषित Factorial है और इसलिए आपकी फ़ाइल का नाम Factorial.java होना चाहिए।

विरासत यहाँ हमेशा की तरह काम कर रहा है और public static void main()Factorial है, जिसके कारण आप java Factorial को क्रियान्वित करने पर अपने उत्पादन को देखने के द्वारा विरासत में मिली है।

1

आपके पास एक ही फ़ाइल में एक से अधिक कक्षाएं हो सकती हैं, लेकिन केवल एक सार्वजनिक, Base सार्वजनिक वर्ग नहीं है, लेकिन यह एक अनुशंसित अभ्यास नहीं है।

+0

और क्या मैं यह मानने में सही हूं कि विस्तार के बाद से वर्ग को मूल वर्ग से मुख्य कार्य प्राप्त होता है, जैसे ही कार्यक्रम चलता है, इसे निष्पादित किया जाता है? – user1107888

+0

@ user1107888 हां, 'फैक्टोरियल' के रूप में 'बेस' बढ़ाता है, यह मुख्य विधि भी प्राप्त करता है। –

+1

@ user1107888 'main' विधि स्थिर है; यह कक्षा के साथ ही जुड़ा हुआ है। चूंकि 'फैक्टोरियल' 'बेस' और 'फैक्टोरियल' बढ़ाता है, 'मुख्य' को परिभाषित नहीं करता है, इसलिए 'फैक्टोरियल' द्वारा 'मुख्य' देखा गया 'आधार' से एक है। – fge

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