方法重写。

本文详细介绍了Java中的方法重写和继承概念。通过示例代码展示了如何进行方法重写,强调了@Override注解的作用,以及子类对父类方法的访问权限限制。同时,解释了Java单继承和多层继承的特性,并提供了测试类的运行结果。
摘要由CSDN通过智能技术生成

方法重写

  1. 当子类和父类的方法一样时,则调用的方法结果是子类方法,也就是说子类重写父类方法**
  2. @Override注解可以检测我们方法重写时名字是否写对
  3. 私有方法不能被重写(包括父类私有成员,子类也不能继承)
  4. 子类方法访问权限不能更低(public>默认>私有)
  5. java中只支持单继承,不支持多继承(儿子只有一个父亲,不可能有多个父亲)!!
  6. java支持多层继承(例如:儿子继承父亲,父亲继承爷爷)!!!!

测试类

package Demmon02.JiChu;
//测试类
/*
    当子类和父类的方法一样时,则调用的方法结果是子类方法,也就是说子类重写父类方法


@Override注解可以检测我们方法重写时名字是否写对

 */
public class Demon {
    public static void main(String[] args) {
        Zi z = new Zi();
        z.show();
        z.method();//因为继承关系,所以子类对象可以调用父类方法

//        匿名类
//        new Zi().show();
//        new Zi().method();因为继承关系,所以子类对象可以调用父类方法
    }
}


父类

package Demmon02.JiChu;

//父类
public class Fu {
    public void method(){
        System.out.println("Fu中method方法调用");
    }
}

子类

package Demmon02.JiChu;

public class Zi extends Fu {
    public void show(){
        System.out.println("Zi中show方法调用");
    }
    @Override
    public void method(){
        System.out.println("Zi中method方法调用");
    }//父子方法一样,则子类重写父类方法
}

输出结果:
Zi中show方法调用
Zi中method方法调用

注意事项

以代码的方式讲解

测试类

package Demmon02.JiChu;
//测试类
/*
    当子类和父类的方法一样时,则调用的方法结果是子类方法,也就是说子类重写父类方法

 */
public class Demon {
    public static void main(String[] args) {
        Zi z = new Zi();
        z.show();
        z.method();//因为继承关系,所以子类对象可以调用父类方法

//        匿名类
//        new Zi().show();
//        new Zi().method();因为继承关系,所以子类对象可以调用父类方法
    }
}

父类

package Demmon02.JiChu;

//父类
public class Fu {
    /*
    private void method(){
        System.out.println("Fu中method方法调用");
    }
        父类私有方法子类重写不了
     */

    void method(){
        System.out.println("Fu中method方法调用");
    }//可以重写

    /*
    public void method(){
        System.out.println("Fu中method方法调用");
    }//可以重写
     */
}

子类

package Demmon02.JiChu;

public class Zi extends Fu {
    public void show(){
        System.out.println("Zi中show方法调用");
    }
     void method(){
        System.out.println("Zi中method方法调用");
    }//父子方法一样,则子类重写父类方法,默认修饰盖雨父类方法权限修饰

   /*
   public void method(){
        System.out.println("Zi中method方法调用");
    }//父子方法一样,则子类重写父类方法,public修饰高于父类方法权限修饰
    */
}

输出结果:
Zi中show方法调用
Zi中method方法调用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

发热的嘤嘤怪(2003计科胜胜同学)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值