很抱歉,我是新手,非常菜鸟问题
例如,假设我有以下代码:
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(),我都可以这样做,而无需更改方法所在的类或该类,它可以做其他事情(例如,打印“我没有做令人惊奇的事情”)。使用它吗?
答案 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的更多信息。