当前位置: 首页 > news >正文

方法 , 类深度分析

方法重载

什么是方法重载,方法重载有什么要求;方法重载必须是在同一个类中,方法名必须相同,参数列表必须互不相同,这种自动匹配对应的方法执行机制就叫方法重载

void meth(int ... vars)和 void meth(String ... vars)属于方法重载,但是当我们调用meth()方法的时候编译器会报错,原因是对meth方法的引用不明确,这里需要注意

方法传参

基本类型:传数值副本,改参不改原;

引用类型:传地址副本;改堆里对象内容生效,换地址不生效;

public static void main(String[] args) { int a=2; int [] arr =new int[2]; add(a); add1(arr); add2(arr); System.out.println(a);//2 System.out.println(arr);//[I@b4c966a System.out.println(arr[0]);//30 } public static void add(int i) { i=10;//修改的是拷贝的数值副本 } public static void add1(int[] i) { i=new int[3];//修改的是拷贝的地址副本 } public static void add2(int[] i) { i[0]=30;//修改的是拷贝地址副本指向的真实地址的值 } --------------------------------------------------- //上面理解不了的可以先看看下面的代码 int b =666; int t=b; t=10; System.out.println(b);//666 int[] arr1 =new int[2]; int[] arr2 =arr1; arr2=new int[3]; System.out.println(arr1);//[I@2f4d3709 int[] arr3 =new int[2]; int[] arr4 =arr3; arr4[0]=888; System.out.println(arr3[0]);//888 /** * 基本数据类型 变量b对应什么,引用类型变量arr2对应什么 思考 * 实际上当我们将一个变量(实参)传给方法时,我们可以用sout打印一下,打印语句输出的是什么我们传递的就是个什么东西 * 当我们传递基本数据类型的时候meth(a),传递的是变量a中保存的值2 * 当我们传递引用类型的时候meth(arr),传递的是变量arr中保存的值[I@2f4d3709 * 操作传递的2字面量本身没有特别的意义,操作传递arr变量中保存的地址也没有意义,操作传递arr变量中保存的地址指向的数据才有意义 */

Java 永远只有值传递,不存在引用传递

关键字static

static属于类本身,不属于任何对象实例,static修饰的在类加载时就初始化,优先于一切对象存在,全局唯一,所有对象共享一份静态资源

修饰成员变量: 类加载阶段就初始化,早于new对象,生命周期是随类一起加载,程序结束才销毁

修饰方法: 被修饰的方法中不能出现this,super等关键字,静态方法只能访问静态成员和静态方法,而且静态方法不能被重写(Override)

修饰代码块: 类加载时执行唯一一次

修饰内部类: 内部类不依赖外部实例,可直接 外部类.静态内部类 创建

关键字final

final代表(不可修改,不可变更),可以修饰变量,方法,类三类元素,每一类约束完全不同

修饰普通局部变量: 只能赋值一次,一旦赋值就不能修改

修饰成员变量: 必须保证在对象创建完毕前完成唯一一次赋值

修饰静态成员变量: 类加载是就要赋值,只能赋值一次

修饰形参: 方法内部不允许重新给形参赋值

修饰方法: 该方法不能被重写

修饰: 该类不能被继承,没有任何的子类

http://www.cnnetsun.cn/news/3236560.html

相关文章:

  • 计算机毕业设计之面向小微企业的简历管理系统
  • 计算机毕业设计之面向智慧校园社区的班级管理系统
  • 不受限制的私域沟通工具|海王IM私有化部署解决方案
  • xx 和 __xx__ 的核心区别
  • 2026实测:宁波3大周末语文小升初机构全面评测
  • CPU虚焊诊断与维修方案对比:3种方法成本/风险/成功率全解析
  • OpenCV 4.8 相机标定实战:11张棋盘格图片获取亚像素级精度
  • CTF密码学经典题解题writeup
  • 百度网盘 YunShellExtV164.dll 注入排查:3步定位explorer/Everything高CPU元凶
  • 大模型选型避坑指南(2024企业级实测版):DeepSeek-R1 vs GPT-4 Turbo——响应速度差3.8倍?
  • “四可”政策解读:从分布式光伏到台区储能的全面覆盖
  • ERP怎么做销售管理?英雄云表单实践打造销售管理全流程
  • 多模态知识图谱来了:文本 + 图像 + 表格,图数据库如何统一建模?悦数科技
  • 为什么你的Cursor inline chat总返回无效代码?资深工程师逆向解析其token截断机制与prompt对齐黄金公式
  • 科大讯飞六麦阵列 ROS 功能包深度解析:5 步实现机器人语音交互与 360° 声源定位
  • 1980–2024 年全球干旱事件时空聚类数据集
  • 为什么你的Gemini不响应Slides?揭秘G Suite管理员策略、OAuth作用域限制与会话超时三大断连根源
  • 别再手动删C盘文件 安全清理姿势
  • 《架构特别篇二:SYSTEM 层》
  • 高斯泼溅研发哪家强?TOP5机构数据排名揭秘
  • 海外新闻稿发了等于白发?朝闻通「增强发布」戳中了多少出海品牌的传播痛点
  • 天工AI DeepResearch技术解析:智能文档生成与办公自动化实践
  • 计算机组成原理知识点+题(白中英等的版本)
  • 支付逻辑漏洞防御:5 项后端校验策略与 3 个真实代码修复案例
  • WaveTools鸣潮工具箱:3个核心功能让游戏体验提升200%的专业解决方案
  • 大数据毕设选题推荐:基于智能匹配的霍兰德职业招聘可视化系统的设计与实现 基于用户测评数据的就业趋势分析系统【附源码、mysql、文档、调试+代码讲解+全bao等】
  • Next.js DApp 的 Edge Runtime 部署:Vercel Edge 与 Cloudflare Workers 的性能对比
  • 计算机毕业设计之基于SSM框架的低碳校园宿舍用电监测与激励系统设计与实现
  • Agentic Workflow时代:后端开发者需要重新思考什么?
  • 自演化数据库架构:从静态Schema到AI驱动的自适应表结构设计