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

相关推荐
niucloud-admin3 分钟前
JAVA V6 多商户商城 开发文档——job 计划任务开发
java·python·github
海宇AI1 小时前
零信任架构实战:基于海宇柠檬查出险-登记证构建自动化车抵贷核保网关
java·人工智能·架构·自动化
xiangyun611 小时前
【408数据结构 08】队列:循环队列判空判满,408年年考,一次讲清
c语言·开发语言·数据结构·c++·算法
xiangyun612 小时前
【408数据结构 06】双链表、循环链表、静态链表
c语言·开发语言·数据结构·c++·算法
cfm_29143 小时前
单例模式详解
java
我叫张土豆3 小时前
本体论、DDD、SDD、TDD:AI 编程时代的四层认知栈
java·人工智能
白远山3 小时前
家政服务家政社区派单实战:调度系统架构设计与实现指南
java·开发语言·小程序·架构·需求分析
海南java第二人3 小时前
从诞生到回收:JVM对象生命周期与垃圾回收全链路解析
java
SL_staff4 小时前
JVS-Logic:从页面配置工具到企业级业务逻辑中枢的技术演进
java·算法·全栈
DevRay4 小时前
Java 21虚拟线程深度实战:告别线程池焦虑,百万并发吞吐量直接翻倍(原理+代码+避坑)
java·开发语言