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,这种是基本数据类型,形参的改变不会影响实参

相关推荐
多弗朗皮卡丘28 分钟前
C++的IO流
开发语言·c++·io流·文件io流
liyi_hz200837 分钟前
O2OA(翱途) V10.1 即将发布|功能再升级,安全再加固,协同更高效!
java·javascript·windows·开源软件
骑着蜗牛撵大象32740 分钟前
AI Agent 工程化开发实战(三):用 StateGraph 给智能体搭一条可回放的状态流水线
java·开发语言·jvm·ai·状态管理·langgraph·stategraph
itmigrate1 小时前
Rust 里的所有权误区:不是不写 clone 就叫高性能
开发语言·后端·rust
Brilliantwxx1 小时前
【Linux】 文件访问与路径解析:目录、文件名、dentry、路径缓冲与 dcache 全解析
linux·运维·服务器·开发语言·spring
鬼手点金1 小时前
KV Cache 未必是一次性的:可编辑、可组合的“笔记”
java·人工智能·笔记·学习·自动化·1024程序员节
摇滚侠1 小时前
《On Java 中文版 基础卷》阅读笔记 初始化和清理 08
java·开发语言·笔记
xiangyun612 小时前
C++ 手撕 shared_ptr:引用计数与控制块到底长什么样?
开发语言·c++·算法·面试·stl
海鸥-w2 小时前
Redis 配置与排错说明
java·数据库·redis·bootstrap
XiYang-DING2 小时前
P4009.和为K的子数组个数 & P5522.异或和为 k 的子数组个数
java·开发语言