簡體   English   中英

同一項目但在不同工作空間中的新編譯器問題

[英]New compiler issues of the same project but in different workspace

我有一個很好的Android項目,然后創建了一個單獨的工作區並將該項目導入其中。 在這個新的工作區中,Eclipse向我展示了一些類似的問題,並建議刪除某些方法的@Override注釋,例如:

     button.setOnClickListener(new View.OnClickListener() {

         @Override
   public void onClick(View v) {

   }
  });

我檢查了項目的屬性,JRE和Android API-一切都相似。 我試圖清理項目,但這沒有幫助。

Eclipse的錯誤描述:

 The method onClick(View) of type new View.OnClickListener(){} must override a
 superclass method  Ovals.java  /FlyingOvals/src/com/g/g    line 38 Java Problem

為什么會這樣,我應該在哪里解決這些問題?

在新工作空間中檢查您的Java合規性級別。 在Java 5中,從接口實現方法時不允許使用@Override。 在Java 6中,這是允許的。 如果適用,Eclipse將在這種情況下標記一種代碼樣式警告。 您可以將Java合規性級別設置為Java 5(最好在項目中,這樣設置才能保留),也可以有選擇地對項目全部禁用此警告。

請參閱項目屬性-> Java編譯器

請參閱項目屬性-> Java編譯器->錯誤警告。

我應該補充一點,通常建議使用@Override批注,因為它會在基類更改時提醒您。 考慮使用方法abc()和重寫該方法的派生類Bar的類Foo。 如果在Bar中使用@Override標記abc()方法,則當某人在Foo中重命名abc()方法時,您會收到警報,因為Bar.abc()不再覆蓋聲明的內容。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM