Java重点---值传递和引用传递

目录

⭐Java中只有值传递,没有引用传递;C++里才有引用传递⭐

⭐对象初始化顺序(对象的每个部位在内存中申请空间以及赋值的顺序)

⭐代码块的优先级高于构造方法,而代码块(方法块)之间的优先级相同,就采取谁在上面,谁的优先级就更高。⭐

⭐静态代码块(优先级最高且只初始化一次)不论new几次方法都只默认生成一次,但是其他的方法会随着new的存在而被再初始一次⭐

⭐第一个对象产生的时候触发的,且仅由类的第一个对象触发

静态的初始化是在第一个对象产生的时候触发的,且仅由类的第一个对象触发⭐

⭐继承的优先级


⭐Java中只有值传递,没有引用传递;C++里才有引用传递⭐

如下"int x1=10"中,int x1 部分就是句柄,如果传递int x1,那么就是引用传递,如果传递的是10,那么就是值传递

Java不能用值传递是因为就没有这个功能,不能改变句柄的地址,所以只能进行值传递,而引用传递可以改变。

如下,一定是C++代码:

因为C++可以使用引用传递,所以可以实现如下的函数修改main函数中的操作:

所以如下:

第一种方式不能够替换x1和x2对应的值,只能用第二种方式去直接修改里面的值。

当构造器中写了好几个同名算法,就会默认调用第一个:

⭐对象初始化顺序(对象的每个部位在内存中申请空间以及赋值的顺序)

类加载顺序(类文件从磁盘进入方法区的过程)⭐

⭐代码块的优先级高于构造方法,而代码块(方法块)之间的优先级相同,就采取谁在上面,谁的优先级就更高。⭐

⭐静态代码块(优先级最高且只初始化一次)不论new几次方法都只默认生成一次,但是其他的方法会随着new的存在而被再初始一次⭐

⭐第一个对象产生的时候触发的,且仅由类的第一个对象触发

静态的初始化是在第一个对象产生的时候触发的,且仅由类的第一个对象触发⭐

⭐继承的优先级

父类对象一定优先于子类继承

执行顺序:父类静态优先>子类静态>父类非静态>父类构造方法>子类非静态>子类构造方法

相关推荐
程序员小凯2 小时前
Spring Boot文件处理与存储详解
java·spring boot·后端
Miraitowa_cheems3 小时前
LeetCode算法日记 - Day 88: 环绕字符串中唯一的子字符串
java·数据结构·算法·leetcode·深度优先·动态规划
黑云压城After3 小时前
vue2实现图片自定义裁剪功能(uniapp)
java·前端·javascript
zcl_19915 小时前
记一次ThreadLocal导致的生产事故
java
RoboWizard5 小时前
怎么判断我的电脑是否支持PCIe 5.0 SSD?Kingston FURY Renegade G5
java·spring·智能手机·电脑·金士顿
毕设源码-钟学长6 小时前
【开题答辩全过程】以 儿童游泳预约系统为例,包含答辩的问题和答案
java·eclipse
皮皮林5516 小时前
5种接口频率监控方案实战对比,性能、成本、复杂度全解析!
java
似水流年 光阴已逝6 小时前
从Jar包到K8s上线:全流程拆解+高可用实战
java·kubernetes·jar
YA3336 小时前
java设计模式八、组合模式
java·设计模式·组合模式
一枚码仔7 小时前
SpringBoot启动时执行自定义内容的5种方法
java·spring boot·后端