zoukankan      html  css  js  c++  java
  • Java对象与Java 对象引用区别以及与C++对象的区别

    一.Java对象与Java对象引用的区别

    先来看一段代码

     FighterPlane fp  = new FirghterPlane();
    

    代码的执行过程是先产生对象,之后将对象赋予声明fp;
    有声明时可以没有对象,当声明被赋予特定的对象后,声明就被另一个概念——“引用”所取代;
    从某种角度上讲,引用就好比对象的名片;

    fp作为引用,在栈中保留了堆中对象的实际地址;
    对象作为参数时,对象是引用传递,传递的的事对象的地址,也就是说对象只有一个,而引用可以有多个。

    二.Java对象与C++对象的区别

    同样是这段代码
    FirghterPlane fp;
    
    1. 这段代码在Java中产生一个对象的声明,此时并没有任何此类的对象产生,也没有为此对象分配内存空间,而在C++中,此时已经产生了一个对象;
    2. C++中用关键字new方式创建的对象在堆中,而用“FirghterPlane fp”方式产生的对象在方法栈中;

    即Java 中的变量名仅仅是一个用于引用内存中实际对象的标识符,如果你没给它关联对象,它就为空引用。而 C++ 中的变量名(非指针类型),虽然也是标识符,但却始终关联着实际的内存空间,当我们看到一个变量(非指针类型)时,就知道它代表着一块实际的内存空间。

  • 相关阅读:
    ES6 promise 常用方法介绍
    js判断元素是否在可视区域里
    alert之后才执行
    jquery总结和注意事项
    java中unicode和中文相互转换
    html href页面跳转获取参数
    myBatis批量添加实例
    mybatis中返回自动生成的id
    遍历map的四种方法
    MyBatis魔法堂:Insert操作详解(返回主键、批量插入)
  • 原文地址:https://www.cnblogs.com/myzhibei/p/12890567.html
Copyright © 2011-2022 走看看