• 空指针错误


    // InitArray.java
    // initializing an array with a declaration
    package test;


    public class NullPointerArrayExample
    {

    /**
    * @param args
    */
    public static void main(String[] args)
    {
    MyClass[] arr=new MyClass[10];
    for(int i = 0;i < arr.length;i++)
    arr[i] = new MyClass();
    System.out.println(arr[2].value);

    // 分配内存并不代表着初始化
    // MyClass是一个类,如果没有定义构造方法,仅凭父类的构造方法可能没有办法完成初始化,
    // 只有int类型在分配内存时会自动赋值为0
    // 每个数组元素都因该引用一个真实的对象,如果没有显式的把某个对象引用传递给数组元素,其值为NULL,这样就会引发空指针错误

    //这是一个新手非常容易犯的错误,以为用new关键字为数组对象分配内存之后就可以直接引用数组元素对象

    //想要引用一个数组元素对象,就必须显式得对数组元素用new关键字进行初始化,这样才能调用

    }

    }
    class MyClass
    {
    public int value=1;
    MyClass()
    {
    value = 1;
    }
    }

  • 相关阅读:
    bzoj1731 [Usaco2005 dec]Layout 排队布局
    loj10087 Intervals
    差分约束小结
    bzoj1112 [POI2008]砖块Klo
    bzoj3524 [POI2014]Couriers
    poj2752 Seek the Name, Seek the Fame
    1027C Minimum Value Rectangle
    bzoj2212 [POI2011]Tree Rotations
    bzoj3747 [POI2015]Kinoman
    628D Magic Numbers
  • 原文地址:https://www.cnblogs.com/1102whw/p/4922464.html
Copyright © 2020-2023  润新知