public final static InputStream in = nullInputStream();抽象类怎么可以有对象呢???

解决方案 »

  1.   

    抽象类是不能创建对象的,System.in()接收的是继承了InputStream类的对象.
      

  2.   


    你可以看一下源码里面有个setIn0(new BufferedInputStream(fdIn));很明显, in 这个引用指向的具体类是 BufferedInputStream
      

  3.   

    抽象类是不能new 的啊 
    但是可以定义一个抽象类 类型的引用,指向一个它的实现类或哪里都不指向
      

  4.   

    太精彩了,使用native方法来破坏final的语义。