精华内容
下载资源
问答
  • public class Student { private String name="sun"; public static void main(String[] args) { ...Student[] Students=new Student[2];..././这样生成了Students[o]的对象 调用对象的属性name才会有值
    public class Student {
    private String name="sun";
    public static void main(String[] args) {
    Student[] Students=new Student[2];
    System.out.println(Students[0].name);
    /*Students[0]是null,因为代码只是给Students数组对象
    new了一个对象并没有给Students[0]new 对象所以用Students[0]调用name是null指针
    */

    }


    }Exception in thread "main" java.lang.NullPointerException
    at javaSEDay2.Student.main(Student.java:7)报空指针异常

           你需要给Sytudents[o]重新new对象

       Students[o]=new Students();/./这样生成了Students[o]的对象 调用对象的属性name才会有值

    展开全文
  • Java数组,对象数组,多维数组跟引用的关系 例子 publicclassObj{ inta; } publicclassTest{ publicstaticvoidmain(String[]args){ intarray[]...

    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]元素。

    转载于:https://my.oschina.net/Ccx371161810/blog/264965

    展开全文
  • 数组对象数组对象引用 初始化 1 //数组中是简单类型: 2 int[] arr={3,4,5}; 3 4 int[] arr=new int[3]; 5 arr[0]=3; 6 arr[1]=4; 7 arr[2]=5; 8 9 10 //数组中是引用类型: 11 String...

    数组对象与数组对象引用

    初始化

     1 //数组中是简单类型:
     2 int[] arr={3,4,5};
     3 
     4 int[] arr=new int[3];
     5 arr[0]=3;
     6 arr[1]=4;
     7 arr[2]=5;
     8 
     9 
    10 //数组中是引用类型:
    11 String[] s={"ab","bc","cd"};
    12 
    13 String[] s=new String[3];
    14 s[0]=new String("ab");
    15 s[1]=new String("bc");
    16 s[2]=new String("cd");

    第2行与4,5,6,7行等价

    第11行与13,14,15,16行等价

    =左边:数组对象引用

    =右边:数组对象

    常见错误

    1. int[10] arr; 

    因为此处arr是对象引用,没有分配空间,所以不能这样用

    2.数组越界

    产生的异常为:IndexOutOfBoundsException

    3.数组大小为负数

    产生的异常为:NegativeArreySizeException

     

    数组的遍历

     1 public class TestArgs{
     2     public static void main(String[] args){
     3         for(int i=0;i<args.length;i++){
     4             System.out.println(args[i]);
     5         }
     6     }
     7 }
     8 
     9 for(int x:arr)
    10     System.out.println(x);

    前几行可以直接简写为第9,10行

    转载于:https://www.cnblogs.com/liiiiiiiiiiinnnnnnnn/p/11566227.html

    展开全文
  • 案例:我有5个学生,请把这个5个学生信息存储到引用数据类型数组中,并遍历数组,获取得到每一个学生信息。 思路分析:首先,想要创建学生对象,就得有学生这个类,所以,首先创建一个包(package com.wsq.bean)...

    案例:我有5个学生,请把这个5个学生的信息存储到引用数据类型数组中,并遍历数组,获取得到每一个学生的信息。

    思路分析:首先,想要创建学生对象,就得有学生这个类,所以,首先创建一个包(package com.wsq.bean),在包里创建一个Student类;然后再创建引用数据类型数组(即用Student这个类去创建一个数组)

    代码如下:

    package com.wsq.bean;
    //定义学生类;
    public class Student {
        private String name;
        private int age;
    
        public Student() {
            super();
        }
    
        public Student(String name, int age) {
            super();
            this.name = name;
            this.age = age;
        }
    
        public String getName() {
            return name;
        }
    
        public void setNaem(String name) {
            this.name = name;
        }
    
        public int getAge() {
            return age;
        }
    
        public void setAge(int age) {
            this.age = age;
        }
    
        @Override
        public String toString() {      //这里得重写toString方法
            return "Student [naem=" + name + ", age=" + age + "]";
        }
    
    }
    
    package com.wsq.collection;
    
    import com.wsq.bean.Student;
    public class Demo1_Array {
        public Demo1_Array() {
        }
    //引用数据类型数组去存储对象,数组中存储的不是真正的对象而是存储记录对象的地址值
        public static void main(String[] args) {      //String [] args,这个就是String类型的引用数据类型数组
                //int [] arr = new int [5];           //以前的创建基本数据类型数组
                Student [] arr = new Student [5];     //用Student类去创建一个能存储5个学生信息的数组,这个就是引用数据类型数组,里面的参数为(String name,int age)
                arr[0] = new Student("张三",23);      //创建一个学生对象,存储在数组的第一个位置,arr[0]就相当于Student类型的变量,new Student("张三",23),这个就相当于是具体的对象;把对象复制给了变量
                arr[1] = new Student("李四",24);      //创建一个学生对象,存储在数组的第二个位置
                arr[2] = new Student("王五",25);      //创建一个学生对象,存储在数组的第三个位置
    
                for(int i = 0;i<arr.length;i++){
                    System.out.println(arr[i]);       //打印arr[i],就相当于打印每个对象的引用,默认会调用每个对象的toString方法,所以应该在Student这个类中,去重写toString方法;如果Student这个类中没有重写toString这个方法,就会默认调用Object类中的toString方法;想要看到赋值后的结果,就要在Student这个类中去重写toString方法
    //          arr[0],代表第一个对象的引用;arr[1],代表第二个对象的引用,arr[2]代表第三个对象的引用
                }
            }
    
    }
    
    
    展开全文
  • 问题描述:java 对象数组的使用问题解决:数组元素可以是任何类型(只要所有元素具有相同的类型)数组元素可以是基本数据类型数组元素也可以是类对象,称这样的数组为对象数组。在这种情况下,数组的每一个元素都是一个...
  • C++数组的引用和引用的数组

    万次阅读 2018-10-30 15:53:27
    转载:关于数组的引用和引用的数组 一、大概区别 就像指针的数组和数组的指针一样耐人寻味 //array首先向右结合,所以这个相当于 (int&amp;)array[] array是个数组,其中的元素是引用 //应该叫:引用的数组 ...
  • 对象数组

    2020-10-30 08:30:02
    对象数组往往是以引用数据类型为主定义,例如:类、接口,而且对象数组也分为两种定义格式 ···对象数组动态初始化:类名称 对象数组名 new 类名称【长度】; ···静态初始化 :类名称 对象数组名 new 类名称...
  • 在Java中创建数组有3个步骤 -声明 - 在此步骤中,我们指定数据类型和要创建的数组的维度。但请记住,我们还没有提到尺寸的大小。他们是空的。实例化 - 在此步骤中,我们使用new关键字创建数组或为数组分配内存。在这...
  • 分享给大家供大家参考,具体如下:所谓的对象数组,就是指包含了一组相关的对象,但是在对象数组的使用中一定要清楚一点:数组一定要先开辟空间,但是因为其是引用数据类型,所以数组里面的每一个对象都是null值,则...
  • java对象数组

    2016-07-27 08:18:22
    摘要:java是面向对象程序设计语言,对象数组作为javase中的基础部分的一个重要环节,是学生们在入门时经常容易混淆的知识点,结合作者个人多年教学积累,对基本类型数组和对象数组的引用进行分析和探讨,使学生更好...
  • 浅析java之对象数组 摘要java是面向对象程序设计语言对象数组作为javase中的基础部分的一个重要环节是学生们在入门时经常容易混淆的知识点结合作者个人多年教学积累对基本类型数组和对象数组的引用进行分析和探讨使...
  • 关于数组的引用和引用的数组

    万次阅读 多人点赞 2018-04-27 23:58:36
    一、大概区别就像指针的数组和数组的指针一样耐人寻味//array首先向右结合,所以这个相当于 (int&amp;...//应该叫作数组的引用 int (&amp;array)[10] 二、引用的数组首先,可以明确的说...
  • Java中的对象数组

    2020-12-22 22:15:33
    它是引用数据类型、基本数据类型的数组,在存储时也是同引用数据类型类似,同时它与自定义类对象数组的声明与引用还有一定的差别。下面以一维数组为例,对基本数据类型数组和对象数组分别探讨。  一、基本数据类型...
  • js对象数组的深拷贝 前言 在javascript 以及 其他的很多编程语言中,对象与数组的赋值往往是引用类型的赋值,若a和b是两个对象,则赋值语句a=b,仅仅是把a “指向” 了 b,而不是把a原本的对象变为了b对象。这种赋值...
  • 对象数组的使用

    千次阅读 2015-08-13 08:49:22
    1. 对象数组:所谓的对象数组就是一组相关对象的集合,要注意的是,数组...2. 对象数组的声明: 类名称 对象数组名[] = new 类名称[数组长度]; 数组本身是属于引用数据类型的:而类本身也是属于引用数据类型的
  • 对象数组的内存图解

    2018-03-20 16:51:00
    对象数组的概述和案例(掌握)  (1)对象数组的概述  数组既可以存储基本数据类型,也可以存储引用类型。它存储引用类型的时候的数组就叫对象数组。  (2)对象数组的案例  我有5个学生,请把这个5个学生的信息存储...
  • 使用对象数组作为参数,只是将对象作为一个数组元素,其引用方法与基本数据类型数组完全相同。但针对对象数组单个元素来讲,它又具有对象有属性和方法。 import java.util.Scanner; //学生类class Student{ ...
  • java 对象数组

    2019-10-01 16:13:06
    数组是引用类型,而类同样是引用类型,所以如果是对象数组的话表示一个引用类型里面嵌套其他引用类型。 在前面两篇都是属于基本数据类型的数据,但是索引的引用数据类型也同样可以定义数组,这样的数组称为对象数组...
  • Java对象数组

    万次阅读 多人点赞 2018-09-03 00:24:52
    所谓的对象数组,就是指包含了一组相关的对象,但是在对象数组的使用中一定要清楚一点:数组一定要先开辟空间,但是因为其是引用数据类型,所以数组里面的每一个对象都是null值,则在使用的时候数组中的每一个对象...
  • /*java 中数组的排序 对象数组 的排序基本类型的数组可以直接排序但是 引用类型的数组 不能直接排序首先要实现 Comparable 接口并且重载compareTo方法 这个方法在java.until包中的 Arrays 类 的 binarySearch() sort...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 18,884
精华内容 7,553
关键字:

对象数组的引用