侯体宗的博客
  • 首页
  • Hyperf版
  • beego仿版
  • 人生(杂谈)
  • 技术
  • 关于我
  • 更多分类
    • 文件下载
    • 文字修仙
    • 群聊
    • 九宫格抽奖
    • 拼图
    • 消消乐
    • 相册

java如何干掉指针,又如何巧妙的通过引用来操作指针————>说的就是java指针

Java  /  管理员 发布于 3年前   176

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}}

 

 


  • 上一条:
    菜鸟的java基础提升之道——————>是否值得拥有
    下一条:
    java IO操作 与 File 获取文件或文件夹的大小,可读,等属性!!!
  • 昵称:

    邮箱:

    0条评论 (评论内容有缓存机制,请悉知!)
    最新最热
    • 分类目录
    • 人生(杂谈)
    • 技术
    • linux
    • Java
    • php
    • 框架(架构)
    • 前端
    • ThinkPHP
    • 数据库
    • 微信(小程序)
    • Laravel
    • Redis
    • Docker
    • Go
    • swoole
    • Windows
    • Python
    • 苹果(mac/ios)
    • 相关文章
    • java 正则表达式基础,实例学习资料收集大全 原创(0个评论)
    • java正则表达式彻底研究(0个评论)
    • java正则表达式验证函数(0个评论)
    • MVC、MVP和MVVM分别是什么(0个评论)
    • java 单例模式(饿汉模式与懒汉模式)(0个评论)
    • 近期文章
    • ChatGPT再出新功能,推出插件功能,能联网、搜索了(0个评论)
    • 在go语言中使用GoPDF包把html生成PDF文件示例(0个评论)
    • 在go语言中创建和解析(读取)符号链接示例(0个评论)
    • ubuntu 22.04系统中报错:Python 3.6 is no longer supported by the Python core team...解决方式(0个评论)
    • Laravel 10.4版本发布(0个评论)
    • mysql5.7中实现分区表及分区where in查询示例及分区分表对比浅析(0个评论)
    • nginx + vue配置实现同域名下不同路径访问不同项目(0个评论)
    • 在laravel框架中的5个HTTP客户端技巧分享(0个评论)
    • 在go语言中使用FFmpeg库实现PCM音频文件编码为mp3格式文件流程步骤(0个评论)
    • gopacket免安装Pcap实现驱动层流量抓包流程步骤(0个评论)
    • 近期评论
    • 博主 在

      2023年国务院办公厅春节放假通知:1月21日起休7天中评论 @ xiaoB 你只管努力,剩下的叫给天意;天若有情天亦老,..
    • xiaoB 在

      2023年国务院办公厅春节放假通知:1月21日起休7天中评论 会不会春节放假后又阳一次?..
    • BUG4 在

      你翻墙过吗?国内使用vpn翻墙可能会被网警抓,你需了解的事中评论 不是吧?..
    • 博主 在

      go语言+beego框架中获取get,post请求的所有参数中评论 @ t1  直接在router.go文件中配就ok..
    • Jade 在

      如何在MySQL查询中获得当月记录中评论 Dear zongscan.com team, We can skyroc..
    • 2016-11
    • 2018-03
    • 2020-03
    Top

    Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号 PHP交流群

    侯体宗的博客