比如动物是父类,人是子类,都有奔跑run()这个方法,人类能够不用四肢在地上奔跑,所以应该重写run()这个方法,让人类直立行走啊!
注意要和另一种区分的就是“重载”,即overload,这是同一个类中同名不同参的方法,它们之间的关系就是,你调用同一个名字,但是传递的是不同的参数,
比如求和sum方法,可以对int类型求和,也可以对double类型求和,这两个方法作用相同,所以起同样的名字。因此sum(int int)和sum(double, double)就是两个重载方法。
重载,在一个类的内部,如果有一个方法名为test,你重新写一个方法,这个方法的名字也叫test,但是两个方法的参数不同.也就是说,重载指的是在一个类的内部有两个或多个名字相同但参数不同的方法.
覆写,也叫覆盖或重写.如果一个父类有一个方法名为test,在他的子类里也写一个方法名字也是test,两个方法返回类型和参数都相同,但是方法体不同.
也就是说,覆写指的是不同的类中(父类方法,子类覆写)有两个或多个返回类型,方法名,参数都相同,但是方法体不同的方法
另外,超载指的是覆盖,也就是覆写.过载则和重载同一概念
如何需要用子类给父类赋值并保证后续创建出来的子类对象中mon = "Angemon",需要是设置mon变量为静态变量package com
public class DigimonChild extends Digimon{
public static void main(String[] args) {
Digimon.setMon("Angemon")
Digimon d1 = new Digimon()
System.out.println(d1.getMon())
Digimon d2 = new Digimon()
System.out.println(d2.getMon())
}
}
package com
public class Digimon {
private static String mon
private String name
public String getMon() {
return mon
}
public static void setMon(String mon) {
Digimon.mon = mon
}
}