从扩展类修改方法

时间:2014-09-15 06:44:24

标签: java class methods import

所以我有一个扩展java.lang.object名为powerfulS的类文件 我在Testers.java中使用此类文件

import java.lang.object;

public class Testers
{

 public static powerfulS=new powerfuls(..); 

 [..]

}

现在我有一个两难的境地,我的班级强大的S有一个需要修改的方法。此类中的方法使用该类中的其他方法     e.g

public double method1()
{

 return getPowerLvl()*getSystemCrasher();

}

我想改变它,以便它在该类中使用另一种方法

e.g

public double method1()
{

 return getPowerLvl()*getSystemReviver();

}

当我试图这样做时

public class Testers
{

 public double method1()
{

 return super.getPowerLvl()*super.getSystemCrasher();

} 

 public static powerfulS=new powerfuls(..); 

 [..]

}

我得到'找不到符号错误'....如何在导入的类中修改方法?我使用@Override吗?

1 个答案:

答案 0 :(得分:0)

关键字super适用于Parent类,因此在您的情况下,您尝试调用不存在的Object类的方法。

public class Testers
{

 public double method1()
{

 //You are calling super.getPowerLv1() * super.getSystemCrasher()
 //return super.getPowerLvl()*super.getSystemCrasher();
 // remove the super keyword like and call method from powerfuls getPowerLv1() and getSystemCrasher
 return powerfulS.getPowerLvl()* powerfulS.getSystemCrasher();

} 

 public static powerfulS=new powerfuls({
    public double method1()
      {
           //here you can ovverride this method how you will like
        return super.getPowerLvl()*super.getSystemCrasher() + 1 + 1;

      }
 }); 

 [..]

}