java如何干掉指针,又如何巧妙的通过引用来操作指针————>说的就是java指针
Java  /  管理员 发布于 4年前   336
C语言的强大在于可以直接操作指针的地址,通过改变指针的地址指向来达到更改地址的目的,又是由于c语言的指针过于强大,初学者很难掌握, java的出现解决了c,c++中指针的问题 java将指针封装在底层,开发人员是不能够去操作指针的地址,但是可以通过引用来间接的操作:
定义一个指针p来指向a的地址(&是地址符号):
*p->&a
*p是指向&a地址的数,*P可以通过改变指针的指向 来改变地址的值,这就是c指针的强大之处 java中怎么来解决值的传递和对地址的操作呢:
java中有两种机制 以值传递和引用传递来代替c的指针, java不准开发人员直接去操作指针的地址的,但可以通过引用做到
值传递:基本数据类型(boolean bety char int short double float long) 值传递相当于赋值运算:
值传递是指在程序中通过赋值来改变参数的一种思想
例如:
public class Demo {// 值传递public static void main(String args[]) {//定义a为100int a = 100; //将a的赋给bint b = a; //将200赋值给bb = 200;System.out.println(a); //输出a的值为100,//在程序中只是将a的值赋值给了b,没有将a的地址赋给b}}
二:
public class studyDemo {public static void main(String[] args) {//将类实例化studyDemo stu = new studyDemo();int a = 100;//调用change方法();stu.change(a);//输出a的值System.out.println("第一次的"+a); //a还是为100public void change(int s){//将200赋值给as = 200;//输出赋值后的sSystem.out.println("s = "+ s);}}}
引用传递:指引用对象来操作地址,相当于java中的指针
public class studyDemo { private String name;public static void main(String[] args) { studyDemo stu1 = new studyDemo();stu1.name = "java";//将stu1对象赋给stu2,stu1的地址也赋值给了stu2,stu2对象可以操作stu1的地址studyDemo stu2 = stu1;stu2.name = "android";System.out.println("stu1 :" + stu1.name +" "+ "stu2 :" + stu2.name); //结果都是android}}
123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..路人 在
php中使用hyperf框架调用讯飞星火大模型实现国内版chatgpt功能示例中评论 教程很详细,如果加个前端chatgpt对话页面就完美了..Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号