有没有办法从其他类重新声明一个方法?

问题描述 投票:-2回答:1

对不起这个非常棒的问题,我是新来的

例如,假设我有这个代码:

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()时它是否可以这样做,它会做其他事情(例如打印“我没有做一些惊人的事情”而不改变方法所在的类或使用它的类?

java
1个回答
2
投票

最接近你可以通过extending 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的方法的更多信息。

© www.soinside.com 2019 - 2024. All rights reserved.