關於@override報錯的問題

來源:互聯網
上載者:User

剛進公司,公司讓看CXF,發現有很多annotation的標註,annotation注釋是在jdk1.5加入的新東西,沒用過,所以只能照著寫了。在公司倒也沒出錯,公司的jdk是1.6的,把東西帶回家後,在自己的電腦(jdk1.5)上一跑,報錯了,是@override的錯。 
費了半天勁才調好,原因如下: 
關於@override注釋在jdk1.5環境下只能用於對繼承的類的方法的重寫,而不能用於對實現的介面中的方法的實現。 
例如:
Java代碼 
public interface Interface_A{    
   public void methodA();    
}   
public interface Interface_A{
   public void methodA();
}
Java代碼 
public class parentClass_B{    
   public void methodB(){    
        
    }    
}   
public class parentClass_B{
   public void methodB(){
    
   }
}
Java代碼 
public class test extends parentClass_B implements Interface_A{    
   @override //此處在jdk1.5中會報錯,1.6中則不會    
   public void methodA(){    
        .............    
    }    
   
   @override //此處不會報錯    
   public void methodB(){    
        .............    
    }    
}   
public class test extends parentClass_B implements Interface_A{
   @override //此處在jdk1.5中會報錯,1.6中則不會
   public void methodA(){
       .............
   }

   @override //此處不會報錯
   public void methodB(){
       .............
   }
}
解決辦法有以下:1,在右鍵項目選擇Properties-->java Compiler-->Compiler Compliance Level-->將jdk設定為6.0.。但是有時候這樣還不行,天知道為什麼,
這個時候我是只能將代碼中的@Override刪除掉了,不知誰有好的方法

另外有時候會報這種錯誤:Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener 或者bad version number in .class file unable to load class,也是由於項目變數中的jdk版本和Compiler Compliance Level中jdk版本不一致所一致
如果這樣處理還不行的話,那就是你在eclipse裡配置的tomcat的jdk的版本和項目path裡配置的不一致了,通過菜單Windows-->Preferences-->tomcat-->jdk-->tomcat JDK home 選擇與項目一直的jdk即可。
有時候可能會出現這種情況,你項目裡的jdk配置的是你自己的jdk6,而你看到tomcat JDK home中也是Myeclipse6.0,主管認為兩個都是java6嘛,應該沒有問題的,但是有時候還是不行,偶就撞上這個黴頭了,剛開始怎麼也找不到問題,這個問題困擾了好幾天

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.