【问题标题】:Class Methods : Override my methods in eclipse类方法:在 Eclipse 中覆盖我的方法
【发布时间】:2012-10-07 22:59:30
【问题描述】:

如果我有课:

public class myclass{

    public int calc(int var1,int var2){
        return var1*var2;
    } 

    public int calc(int var1 ,int var2 , int var3){
        return var1*var2/var3;
    }
 }

问题是:如果我想覆盖我的类的任何方法,有什么办法

示例:我刚刚制作了myclass extends Async,并且使用@Override 注释生成了doInBackground...

更多解释:

class  ares extends AsyncTask<Params, Progress, Result> {
    @Override
    protected Result doInBackground(Params... params) {
        // TODO Auto-generated method stub
        return null;
    }   
}

当我创建 Sub Class extends myclass -> 时,我希望 calc 方法像 doInBackground 那样生成。

【问题讨论】:

  • 你在谈论像这里docs.oracle.com/javase/tutorial/java/IandI/override.html这样的继承吗?
  • 谢谢詹姆斯,但我已经阅读了本教程,但缺少的是当我制作子类扩展 myclass 时,编译器从不要求我添加未实现的方法,如 AsyncTask .. 所以我问什么是必须更改编译器应该理解'calc'方法是实现方法..我认为现在它很清楚;)

标签: android eclipse class overriding


【解决方案1】:

注释@Override 不是强制性的,而是可选的,可以由Eclipse 的格式化程序自动添加。

如果您使用 JavaSDK 1.5 添加此注解,也可能会出现错误,因为此注解是为使用 JavaSDK 1.6 的非接口方法添加的。

要在 Eclipse 中强制生成或至少生成该方法缺失的错误,您需要在父类中将该方法抽象化。如果您已经这样做了,您的 IDE 应该会帮助您生成方法,并且还应该添加注释。

【讨论】:

  • 谢谢沃伦,真棒答案..这是缺少的东西'方法的抽象'我认为这对课堂来说已经足够了
【解决方案2】:

你问的问题我不是很清楚。

您可以覆盖您的方法,这意味着不更改返回类型而是更改方法实现,尽管返回类型可以更具体。

【讨论】:

  • 我的意思是:像 '@Override' 与 onclick() 或 onBackPressed() 示例: 我刚刚做了我的“类扩展异步”并且doInbackground 生成为覆盖方法..
猜你喜欢
  • 2011-07-01
  • 2013-11-02
  • 2021-12-25
  • 1970-01-01
  • 1970-01-01
  • 2011-04-17
  • 2012-05-13
  • 1970-01-01
相关资源
最近更新 更多