[size=medium][color=red]继承[/color]是Java中实现代码重用的重要手段之一。Java中只支持单继承,即一个类只能有一个直接父类,Java.lang.Object类是所有Java类的祖先。
在子类中可以根据实际需求从父类继承的方法进行重新编写,称为方法的重写或覆盖。
子类中重写的方法和父类中被重写的方法必须具有[color=red]相同的方法名、参数列表,返回值类型必须和被重写方法的返回值类型相同或是其子类[/color]
如果子类的构造方法中没有通过Super显式调用父类的所有有参构造方法,也没有通过this显式调用自身的其他方法,则系统默认先调用父类得无参构造方法。
[color=red]抽象类不用实例化。抽象类中可以有零到多个抽象方法。非抽象类若继承抽象类,则必须重写父类的所有抽象方法。[/color]
[color=red]
子类必须重写父类的所有抽象方法才能实例化[/color],否则子类还是一个抽象类
用final修饰的类,不能再被继承。用final修饰的方法,不能再被子类重写。用final修饰的变量将变成常量,只能在初始化时进行赋值,不能再其他地方修改。[/size]
在子类中可以根据实际需求从父类继承的方法进行重新编写,称为方法的重写或覆盖。
子类中重写的方法和父类中被重写的方法必须具有[color=red]相同的方法名、参数列表,返回值类型必须和被重写方法的返回值类型相同或是其子类[/color]
如果子类的构造方法中没有通过Super显式调用父类的所有有参构造方法,也没有通过this显式调用自身的其他方法,则系统默认先调用父类得无参构造方法。
[color=red]抽象类不用实例化。抽象类中可以有零到多个抽象方法。非抽象类若继承抽象类,则必须重写父类的所有抽象方法。[/color]
[color=red]
子类必须重写父类的所有抽象方法才能实例化[/color],否则子类还是一个抽象类
用final修饰的类,不能再被继承。用final修饰的方法,不能再被子类重写。用final修饰的变量将变成常量,只能在初始化时进行赋值,不能再其他地方修改。[/size]