什么是null类?

时间:2015-07-17 06:52:10

标签: java null

在java中,我们将null赋给任何这样的对象:

private Apple apple = null;

java中是否有与此null相关的类?

因为在Apache common-lang jar中他们定义了这样的null:

public static class Null implements Serializable {
            /**
             * Required for serialization support. Declare serialization compatibility with Commons Lang 1.0            *             * @see java.io.Serializable
             */
           private static final long serialVersionUID = 7092611880189329093L;

            /**
            * Restricted constructor - singleton.
             */
            Null() {
               super();
            }

           /**
             * <p>Ensure singleton.</p>
            * 
           * @return the singleton value
             */
            private Object readResolve() {
                return ObjectUtils.NULL;
            }
       }

为什么他们这样做了?

或者只是一点点模式?

2 个答案:

答案 0 :(得分:7)

在java中null不是一个对象,因此没有类。

它确实有类型 - 请参阅MDN

Apache创建了一个名为Null(不是null)的类。这是完全不同的事情。我猜他们创建了它,所以他们可以用实际对象代表null - 这可能会使编程在某些方面更容易。

答案 1 :(得分:0)

在java中,null是关键字,而不是类或对象。