19-面向对象-方法重写(Override)
基本介绍
重写(Override):是指子类中有一个方法和父类的某个方法的名称、返回类型、参数完全一样,那么我们就说子类的这个方法覆盖了父类的方法
即在Java中,子类在重写父类的方法时,必须与父类方法的修饰符、返回值类型、方法名(参数列表) 要完全一致
public class Override01 { public static void main(String[] args) { Dog dog = new Dog(); dog.cry(); } } class Animal{ public void cry(){ System.out.println("Animal一直在哭。。。"); } } class Dog extends Animal{ //方法重写 //1.子类方法的参数,方法名称,要和父类方法的参数,方法名称完全一样 //2.子类方法的返回类型和父类方法的返回类型一样,或者是父类返回类型的子类 //3.子类方法不能缩小父类方法的访问权限 public void cry(){ System.out.println("Dog一直在哭。。。"); } }
重写(Override)和 重载(Overload)的区别
1. 重写(Override)
重写是子类重写父类的方法,方法的名称、返回类型、参数列表(参数的类型和个数)完全一样。
重写是动态绑定,即在编译时不能确定具体的调用方法,而在程序运行时,才能确定具体的被调用的方法。
2. 重载(Overload)
重载是在当前类中,方法的名称一样,但返回类型,参数列表(参数的类型和个数)不同。
重载是静态绑定,即在编译时就根据实参类型确定了调用哪个方法。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!