system类为什么不能创建对象,这样有什么益处吗?

解决方案 »

  1.   

    因为这个类的构造方法是私有的:
    /**
     * Prevents this class from being instantiated.
     */
    private System() {
    }因为这个类的实例是由jvm来创建的,应用程序中没有必要创建该类的实例。
      

  2.   

    System 类包含一些有用的类字段和方法。它不能被实例化。
    也没有为什么,就是这么规定的吧.还有可是构造函数私有,还有可能是接口.呵呵,说说而已.
      

  3.   

    System 当中是一些关于系统操作的工具方法,这些工具方法没有必要采用对象的方式来调用。
      

  4.   

    这个类所有的成员都是static的,没有创建对象的必要性
    Math类也类似,你只要使用这个类的static方法或者field就可以了,同样不需要创建对象.
    为了禁止你创建对象,它们的构造方法都声明为private的了.
      

  5.   

    在java的api文档里有说明,不能创建对象。Systems这类成员函数全是静态成员函数,没有成员变量。即使它能创建对象,也只是一个只有行为没有属性的对象。现实世界中的事物是没有属性只有行为的事物吗?所以我认为这是它不能实例化的一个原因吧。java.lang 
    类 System
    java.lang.Object
      java.lang.System--------------------------------------------------------------------------------public final class Systemextends ObjectSystem 类包含一些有用的类字段和方法。它不能被实例化。 在 System 类提供的设施中,有标准输入、标准输出和错误输出流;对外部定义的属性和环境变量的访问;加载文件和库的方法;还有快速复制数组的一部分的实用方法。
    字段摘要 
    static PrintStream err 
              “标准”错误输出流。 
    static InputStream in 
              “标准”输入流。 
    static PrintStream out 
              “标准”输出流。