只用对象的引用,而不存在引用的实体对象 就叫做空对象 
可不可以用一小段代码来举一下例子

解决方案 »

  1.   

    String str=null;
    System.out.println(str.length());
    这样就会报空指针异常.String str="";
    System.out.println(str.length());
    这样就不会.
      

  2.   

    那这种算不算空对象呢 还有String 类型呢 还是算类呢
    People p;
    p.speak();
      

  3.   

    这样写在方法内会直接报编译异常的
    如果是类的成员变量在类加载事会将p初始化为null所有继承自Object的都是对象
      

  4.   

    StringBuffer strb=null
    strb.append();
      

  5.   

    -----------------People p = null;
    p.speak();
    创建对象就一定要给对象初始化,即使初始化为空值。不然java virtual mathine是编译不了的。
      

  6.   

      1、String str=new String(); //表示str对String 对象的引用,new String()表示是str的实体对象
      2、String str=null; //表示str引用的对象是null值,也可以引用的是空对象  
      3、String str=""; //表示str只是作为一个空字符串,是存放在字符串缓冲池里的!
      

  7.   


    什么叫没实体的对象?我理解的空对象是指对象属性的内容为空,如String str = "";
      

  8.   

    ""这个好歹是个string类型,怎么会木有属性呢?
    String str=null;
    String abc=str;
    这个算引用空对象吧?
      

  9.   

    Department depart  这样的定义
    当depart 不存在  我怎么表示。。求解求解
    (上级部门不存在给它一个值怎么表示啊)
      

  10.   

    我觉得11楼讲的非常好,比方说String s1="A",String s2="A";那s1==s2成立,因为s1,s2放在dataSegment中.而String s1=new String("A"),和String s2=new String("A");s1!=s2;
    因为s1,s2指向的不是同一个对象.
      

  11.   

    没有实体的对象。是没有new的对象String str = null;
    String str1 = "";以上是空的引用
      

  12.   

    假如:
    UserInfo userInfo=null;
    UserInfo user=userInfo;
    这样是不会出错的;
    而:
    UserInfo userInfo=null;
    String s=userInfo.getName();
    这样是肯定错误的;
    也就是“把空对象赋给别的对象不会错”,但是如果你想要“使用空对象的方法”,就肯定会抛出异常。
      

  13.   

    空对象就是空引用,在Java中的数据类型中,null为空类型,将null赋值给引用变量,该应用变量就是空对象,也即空引用
      

  14.   

    java声明一个对象后(未实例化)就在栈内存中开辟了一个类似指针的空间(引用),里面值为NULL ,一旦实例化后 就在堆内存开辟一个空间 存放类实例的一些信息(变量),然后将栈内存的NULL改为 该堆内存的首地址。以上是JAVA类实例化的内存分配过程。
     public class MZZ
    {
    public static void main(String [] args)
    {
    People p = null;
    p.run();
    }
    class People
    {
    public void run()
    {
    System.out.println("People run");
    }
    }
    }
      

  15.   

    举例: String s = new String() 在这里 s 就是String的引用, 而new String() 表示String类对象的实例..  s =null; 表示对象的引用为空 ; 这时候,如果调用 s.length(); 就会抛出空指针异常
      

  16.   

    package Test;public class Test {
    public void a(){
    System.out.println("一个方法");
    }
    }
    package Test;public class ShowTest { /**
     * @param args
     */
    public static void main(String[] args) {
    //声明一个没有引用实体对象的对象(变量),
    Test s;//在这里S已经存在于栈空间中,但是并没有指向堆空间中的某个实体对象这里的S可以说是没有引用实体的对象,空对象;

    s=new Test();//new Test()方法,这里在堆空间中生成一个对象,s=把这个对象和S关联起来
    //也就是把s变量的地址指向 new  Test 对象 这个语句以后s就是有引用对象的变量了
    s.a();
    /**
     * 当堆空间中的这个实例对象new Test()不在被s引用并且没有任何在栈空间的空对象引用它时,它就会被销毁
     */
    }
    }
    没有实体的对象称为空对象(刚声明的对象就是空对象),空对象不能使用。如果使用空对象(如对象.变量或对象.方法)就会报空指针。当然,上面例子中可能有些词不准确,也只是便于理解
      

  17.   

    应该是 只是建了个空的对象 
    Person ps=null;
      

  18.   

    public class NullObject { private String a;
     public static void main(String[] args){  System.out.println (a);
    }
    }