2012-04-19 17 views
5

के बीच अंतर मैं इस बात से उलझन में हूं कि क्यों जावा प्वाइंट क्लास दो int paramaters और getX() और getY() विधियों को युगल लौटाता है। उदाहरण के लिए मैं एक प्वाइंटजावा प्वाइंट, getX() और point.x

Point p = new Point(4,6); 

निर्धारित कर सकते हैं अगर मैं फोन करने के लिए थे ..

p.getX(); 

यह 4.0 लौट आते हैं। और

p.x; 

कॉल करने के लिए अगर मैं थे मैं मिलेगा 4.

इस के लिए किसी भी कारण?

+3

अधिकतर, यह पीछे की संगतता और तथ्य यह है कि 'पॉइंट' को अपेक्षाकृत लंबी अवधि में एक साथ हैक किया गया है। –

उत्तर

3

Point2D.Double और Point2D.Float कक्षाएं कि विस्तार Point2D जो Point की एक सुपर क्लास है कर रहे हैं और वे चल बिन्दु मूल्यों के साथ काम करने में सक्षम होने की जरूरत है। ध्यान दें कि setLocation(double, double) भी है।

Point2D एक अमूर्त वर्ग है कि अंक के लिए दूरी गणना लागू करता getX है, और setLocation, और getY इसकी सार तरीके हैं, जिसके कारण वे सब doubles का उपयोग करें और उन्हें हस्ताक्षर में double के साथ लागू करने के लिए क्यों Point है।

+0

अजीब कैसे आपको x और y दोनों को इन्ट्स में प्रारंभ करना होगा, लेकिन फिर एक्स और वाई के स्थान को युगल में सेट कर सकते हैं। –

+0

'प्वाइंट' कक्षा में 'सेटलोकेशन' इसे निकटतम पूर्णांक तक ले जाएगा, इसलिए 'प्वाइंट' में पूर्णांक समन्वय होता है। – trutheality

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