方法机制
调用机制
1、程序执行方法时,开辟一个独立空间(栈空间)
2、方法执行完毕或 return,返回到调用该方法的位置,继续执行余下代码
3、main 方法(栈)执行完毕,退出程序
4、同类的方法调用:直接调用,不需要创建对象
5、不同类的方法调用:通过对象调用
6、跨类调用方法,与方法的访问修饰符、方法所在包相关
传参机制
1、基本数据类型:值拷贝,形参的任何改变不影响实参
2、引用数据类型:地址拷贝,形参的地址引用的改变不影响实参的地址引用,但其值的改变影响实参的值
可变参数
1、Java 允许将同一个类中,多个同名、同功能,但参数个数不同的方法,封装为一个方法
访问修饰符 返回数据类型 方法名(普通参数, 数据类型... 形参名) {
方法体;
}
2、传入的可变参数个数任意
3、可变参数本质是数组
4、可变参数与普通参数一起在形参列表时,必须保证可变参数放在最后
5、一个形参列表只能有一个可变参数
方法重载
1、Java 允许同一个类中,存在多个同名方法
2、实现要求
(1)方法名必须相同
(2)形参的类型、个数、顺序,至少一个不同
(3)形参名、返回数据类型无要求
3、编译器在重载时是通过参数的静态类型而不是实际类型作为判定依据的,由于静态类型在编译期可知,所以在编译阶段,Javac 编译器就根据参数的静态类型决定了会使用哪个重载版本
方法重写 / 覆盖
1、 两同
(1)方法名相同
(2)参数列表相同
2、两小
(1)子类返回值类型小于等于父类返回值类型(返回值为基本数据类型时,必须相等)
(2)子类抛出的异常小于等于父类抛出的异常
3、一大:子类访问控制修饰符大于等于父类访问控制修饰符
方法重载、方法重写
发生范围 | 方法名 | 形参列表 | 返回数据类型 | 访问修饰符 | |
方法重载 | 本类 | 相同 | 类型、个数、顺序至少一个不同 | 无要求 | 无要求 |
方法重写 | 子类、父类 | 相同 | 相同 | 子类 <= 父类 | 子类 >= 父类 |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战