/*
覆盖的原则:
一同:
1.方法的签名(名字)必须相同
两小:
2.子类方法返回值类型和父类方法的返回类型相同或者是其子类
子类可以返回更具体的类
3.子类方法声明抛出的异常类型和父类方法抛出的异常类型相同
或者是其子类
一大:
4.子类方法的访问权限比父类方法的访问权限更大或者相等
只有方法存在覆盖的概念,字段没有
当父类中的某个行为不符合子类具体的特征时,子类需要覆盖重新
定义该方法(重写方法体).
*/
//父类
class bird
{
String foot;
public void fly()
{
System.out.println("飞");
}
}
class tuoniao extends bird
{
}
//企鹅不具备飞翔功能
class Penguin extends bird
{
//覆盖父类中的方法
@Override//判断当前子类的方法是否覆盖了父类
public void fly()
{
System.out.println("不会飞");
}
}
//方法覆盖
class OverrideDemo
{
public static void main(String[] args)
{
Penguin s1 = new Penguin();
//先从子类中寻找,如果有就执行,没有就去父类中寻找
s1.fly();
}
}
5.3 java中的覆盖
最新推荐文章于 2024-04-08 22:45:32 发布