方法的重写
1.什么是方法的重写(override 或 overwrite)?
在了类的继承以后,子类可以对父类中继承来的方法进行“覆盖”或“覆写”
2.举例:
class Circle{//父类
public double findArea(){}//返回圆的面积
}
class Cylinder extends Circle{//圆柱
public double findArea(){}//返回圆柱的表面积
}
3.重写的规则:
方法:权限修饰符 返回值类型 方法名(形参列表) { //方法体 }
* 子类:重写的方法 ; 父类:被重写的方法
重写的规则:
1.子类重写的方法的方法名、形参列表 要与父类被重写的方法的方法名、形参列表相同
2.子类重写的方法的权限修饰符 不小于 父类被重写的方法的权限修饰符
* 特别的:子类不能重写父类中声明为private的方法。
3.如果父类中被重写的方法的返回值类型为void,那么子类重写的方法的返回值类型也是void,如果果父类中被重写的方法的返回值类型不是void,而是具体的类型;那么子类重写的方法的返回值
* 类型不大于父类被重写的方法的返回值类型。
* 比如:父类的返回值类型:Object。 子类的返回值类型:String 或 Object
* 4*.子类重写的方法抛出的异常类型不大于 父类被重写的方法抛出的异常类型
********************************************
注意:子类与父类中同名同参数的方法要么都声明为static的(不叫重写),要么都声明为非static的。(即为重写)
4.面试题:
方法的重写和重载的区分?(重点掌握)
1.什么是方法的重写(override 或 overwrite)?
在了类的继承以后,子类可以对父类中继承来的方法进行“覆盖”或“覆写”
2.举例:
class Circle{//父类
public double findArea(){}//返回圆的面积
}
class Cylinder extends Circle{//圆柱
public double findArea(){}//返回圆柱的表面积
}
3.重写的规则:
方法:权限修饰符 返回值类型 方法名(形参列表) { //方法体 }
* 子类:重写的方法 ; 父类:被重写的方法
重写的规则:
1.子类重写的方法的方法名、形参列表 要与父类被重写的方法的方法名、形参列表相同
2.子类重写的方法的权限修饰符 不小于 父类被重写的方法的权限修饰符
* 特别的:子类不能重写父类中声明为private的方法。
3.如果父类中被重写的方法的返回值类型为void,那么子类重写的方法的返回值类型也是void,如果果父类中被重写的方法的返回值类型不是void,而是具体的类型;那么子类重写的方法的返回值
* 类型不大于父类被重写的方法的返回值类型。
* 比如:父类的返回值类型:Object。 子类的返回值类型:String 或 Object
* 4*.子类重写的方法抛出的异常类型不大于 父类被重写的方法抛出的异常类型
********************************************
注意:子类与父类中同名同参数的方法要么都声明为static的(不叫重写),要么都声明为非static的。(即为重写)
4.面试题:
方法的重写和重载的区分?(重点掌握)