JAVA_06_方法

01_例子

跟C++很像,不列举了

说一下重载

02_重载

判断Java方法是否重载主要看方法名相同,参数列表不同。以下是具体规则:

1.方法名必须完全相同 大小写敏感,同名是重载的前提。

2.参数列表必须不同 满足以下任一条件即可:

① 参数类型不同

② 参数顺序不同(类型组合顺序)

③ 参数个数不同

3.与返回值、访问修饰符、异常无关

仅参数列表影响重载,返回值类型不同、访问修饰符不同或抛出异常不同都不算重载。

简单记忆:重载是编译时多态,编译器根据传入参数就能确定调用哪个方法。

举个例子:

java 复制代码
public class Example {
    // 参数个数不同:重载
    void show(int a) { }
    void show(int a, int b) { }

    // 参数类型不同:重载
    void show(String s) { }
    void show(double d) { }

    // 参数顺序不同:重载
    void show(int a, String s) { }
    void show(String s, int a) { }

    // 仅返回值不同:编译错误,不是重载
    // int show() { return 1; }
    // void show() { }
}

03_方法的值传递

调用change方法前:100

调用change方法后:100

调用change方法前:20

调用change方法后:200

数组是引用数据类型,形参和实参指向同一个地址,当形参修改时,实参的值也会修改,

而 int a = 100,这种是基本数据类型,形参的改变不会影响实参

相关推荐
API快乐传递者1 分钟前
淘宝京东数据分析实战指南:从指标体系到决策落地的全链路方法论
java·大数据·数据分析
vancece3 分钟前
JS实现堆 & 215.数组中的第K个最大元素
java·前端·javascript
就叫_这个吧4 分钟前
java springcloud熔断降级组件sentinel基础应用及nacos持久化处理
java·spring cloud·nacos·sentinel
xieliyu.4 分钟前
MySQL 进阶笔记:用户 / 会话 / 全局 / 局部变量 + CASE 分支语法
开发语言·数据库·笔记·mysql
SimonKing13 分钟前
Apache Fory JSON或许可以替代FastJson
java·后端·程序员
格林威16 分钟前
C#高位深相机图像保存:12位16位图像保存方案,OpenCvSharp和Halcon实现
开发语言·人工智能·数码相机·计算机视觉·c#·视觉检测·工业相机
小小龙学IT18 分钟前
Qt Graphics View Framework(图形视图框架)深度解析:从 Scene/View/Item 到工业级 2D 场景
开发语言·数据库·qt
程序员良辰22 分钟前
【TongWeb7的M11】 首次登录密码修改 & 开启控制台远程访问
java·中间件·tomcat
吴声子夜歌23 分钟前
Java面试——设计模式(四)
java·设计模式·面试
paopaokaka_luck25 分钟前
基于springboot3+vue3+uniapp的剧本杀预约小程序(AI角色对话、协同过滤算法、地图Api、Echarts图形化分析)
java·前端·spring boot·学习·echarts