对不起这个非常棒的问题,我是新来的
例如,假设我有这个代码:
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()时它是否可以这样做,它会做其他事情(例如打印“我没有做一些惊人的事情”而不改变方法所在的类或使用它的类?
最接近你可以通过extend
ing 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的方法的更多信息。