文档章节

Java的数组,对象数组,多维数组跟引用的关系

扬名立万
 扬名立万
发布于 2014/05/14 21:12
字数 347
阅读 159
收藏 0

Java的数组,对象数组,多维数组跟引用的关系

    例子

public class Obj{
    int a;
}
public class Test{
    public static void main(String[] args){
        int array[]    = int[]{2,3,4,5,6,7,8,9};
        Obj o1         = new Obj();
        Obj o2[]       = new Obj[10];
        int array2[][] = new int[10][];
    }
}


    数组

        数组是一种引用数据类型,数组引用变量只是一个引用(跟C++中的指针类似),数组元素和数组变量在内存中

        是分开存放的。数组引用变量array是存放在栈中,数组元素{2,3,4,5,6,7,8,9}存放在堆中。


    对象

        类也是一种引用数据类型,因此程序中o1是存放在栈内存,指向实际的Obj对象,实际的Obj对象中的成员变量a

        则存放在堆中。


    对象数组

        由于类和数组都是一种引用数据类型,所以程序中对象数组o2实际是存放的是Obj类的引用数组,他是存放在

        栈中的,对象数组元素是存放在堆中。


    多维数组

        多维数组是数组的扩展,他实质还是一维数组,只是数组元素也是引用,数组元素里保存的引用指向一维数组。

        array2是引用,指向array[0],array2[0]也是引用,指向aray2[0][0],array2[0][0]也是引用,指向堆中的

        array[0][0]元素。

© 著作权归作者所有

上一篇: Java的变量
下一篇: Java的函数
扬名立万
粉丝 8
博文 80
码字总数 36824
作品 0
厦门
私信 提问
Scala笔记整理(二):Scala数据结构—数组、map与tuple

[TOC] 数组 定长数组 如果你需要一个长度不变的数组,可以用Scala中的Array。例如: 在JVM中,Scala的Array以Java数组方式实现。示例中的数组在JVM中的类型为java.lang.String[]。Int、Doubl...

xpleaf
2018/04/18
0
0
【Scala】Scala高级使用技巧之一

版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/gongxifacai_believe/article/details/82110617 1、Scaladoc的使用 Scaladoc是Scala的API文档,包含了Scala所有的A...

魏晓蕾
2018/08/27
0
0
《Java从小白到大牛》之第8章 数组

在计算机语言中数组是非常重要的集合类型,大部分计算机语言中数组具有如下三个基本特性: 一致性:数组只能保存相同数据类型元素,元素的数据类型可以是任何相同的数据类型。 有序性:数组中...

tony关东升
2018/07/05
0
0
Learn Java - Chapter 1 变量(Variables)-数组(Arrays)

Java数组在被创建的时候确定数组长度。索引下标从0开始。 1.数组定义及初始化 int[] anArray;//定义anArray = new int[2];//初始化anArray[0] = 100;//赋值anArray[1] = 200;//赋值 System.o...

Hassan
2015/06/01
42
0
第二十九节:Java基础知识-类,多态,Object,数组和字符串

前言 基础知识-类,多态,,数组和字符串,回顾,继承,类的多态性,多态,向上转型和向下转型,,数组,多维数组,字符串,字符串比较。 回顾 类的定义格式: 类的修饰符:, ,等。 privat...

达叔小生
2018/08/15
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Spring Cloud 笔记之Spring cloud config client

观察者模式它的数据的变化是被动的。 观察者模式在java中的实现: package com.hxq.springcloud.springcloudconfigclient;import org.springframework.context.ApplicationListener;i...

xiaoxiao_go
44分钟前
4
0
CentOS7.6中安装使用fcitx框架

内容目录 一、为什么要使用fcitx?二、安装fcitx框架三、安装搜狗输入法 一、为什么要使用fcitx? Gnome3桌面自带的输入法框架为ibus,而在使用ibus时会时不时出现卡顿无法输入的现象。 搜狗和...

技术训练营
今天
4
0
《Designing.Data-Intensive.Applications》笔记 四

第九章 一致性与共识 分布式系统最重要的的抽象之一是共识(consensus):让所有的节点对某件事达成一致。 最终一致性(eventual consistency)只提供较弱的保证,需要探索更高的一致性保证(stro...

丰田破产标志
今天
7
0
docker 使用mysql

1, 进入容器 比如 myslq1 里面进行操作 docker exec -it mysql1 /bin/bash 2. 退出 容器 交互: exit 3. mysql 启动在容器里面,并且 可以本地连接mysql docker run --name mysql1 --env MY...

之渊
今天
7
0
python数据结构

1、字符串及其方法(案例来自Python-100-Days) def main(): str1 = 'hello, world!' # 通过len函数计算字符串的长度 print(len(str1)) # 13 # 获得字符串首字母大写的...

huijue
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部