有没有办法从另一个类中重新声明一个方法?

时间:2019-03-25 09:19:01

标签: java

很抱歉,我是新手,非常菜鸟问题

例如,假设我有以下代码:

public class Amazing {
    public static void DoSomethingAmazing() {
        System.out.println("I did something amazing");
    }
}

public class MainClass {
    public static void main(String[] args) {
        Amazing.DoSomethingAmazing();
    }
}

无论何时使用Amazing.DoSomethingAmazing(),我都可以这样做,而无需更改方法所在的类或该类,它可以做其他事情(例如,打印“我没有做令人惊奇的事情”)。使用它吗?

1 个答案:

答案 0 :(得分:2)

您可以通过extend设置Amazing类并覆盖DoSomethingAmazing方法,例如:

public class Amazing {
    public void DoSomethingAmazing() {
        System.out.println("I did something amazing");
    }
}

public class SomethingMoreAmazing extends Amazing {
   public void DoSomethingAmazing() {
        System.out.println("I did something more amazing");
    }
}

main方法中,您可以这样做:

Amazing a = new SomethingMoreAmazing();
a.DoSomethingAmazing();

它将打印I did something more amazing,即它将使DoSomethingAmazing 做其他事情而不更改它。

您可以阅读有关方法覆盖here的更多信息。