2010-06-08 12 views
6

पृथ्वी पर यह संकलन क्यों नहीं होगा? स्काला 2.8.0RC3:स्कैला वर्ग के साथ जावा इंटरफ़ेस को कार्यान्वित करना - प्रकार समस्या

जावा

public interface X { 
    void logClick(long ts, int cId, String s, double c); 
} 

स्काला

class Y extends X { 
    def logClick(ts: Long, cId: Int,sid: java.lang.String,c: Double) : Unit = { 
    ... 
    } 
} 

त्रुटि

class Y needs to be abstract, since method logClick in trait X of type 
(ts: Long,cId: Int,s: java.lang.String,c: Double)Unit is not defined 

उत्तर

2

आप class Y में logClick की परिभाषा से पहले override जोड़ने की जरूरत है।

class Y extends X { 
    override def logClick(ts: Long, cId: Int,sid: java.lang.String,c: Double) : Unit = { 
    ... 
    } 
} 


संपादित करें:

कारण डेनियल नीचे ने कहा, तुम भी विधि से पहले override जोड़ने की जरूरत नहीं है के लिए। आपका कोड सही है जैसा है।

+0

मुझे खेद है, यह समस्या – paintcan

+0

@paintcan को ठीक नहीं करता है, बस परीक्षण किया गया है। यह यहाँ काम करता है। आप किस स्केल का उपयोग कर रहे हैं? – missingfaktor

+0

संस्करण पोस्ट में है, लेकिन चूंकि आप कहते हैं कि यह आपके लिए काम करता है, हम इस परियोजना को पुन: पेश करने की कोशिश कर रहे हैं जिसमें सभी बाहरी बकवास हटा दिए गए हैं – paintcan

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