system

shixitong 2008-11-01 10:45:04
system类为什么不能创建对象,这样有什么益处吗?
...全文
74 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
mycsxy 2008-11-01
  • 打赏
  • 举报
回复
在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
“标准”输出流。

ZangXT 2008-11-01
  • 打赏
  • 举报
回复
这个类所有的成员都是static的,没有创建对象的必要性
Math类也类似,你只要使用这个类的static方法或者field就可以了,同样不需要创建对象.
为了禁止你创建对象,它们的构造方法都声明为private的了.
  • 打赏
  • 举报
回复
System 当中是一些关于系统操作的工具方法,这些工具方法没有必要采用对象的方式来调用。
sunhualong5560 2008-11-01
  • 打赏
  • 举报
回复
System 类包含一些有用的类字段和方法。它不能被实例化。
也没有为什么,就是这么规定的吧.

还有可是构造函数私有,还有可能是接口.

呵呵,说说而已.
huoyin 2008-11-01
  • 打赏
  • 举报
回复
因为这个类的构造方法是私有的:
/**
* Prevents this class from being instantiated.
*/
private System() {
}

因为这个类的实例是由jvm来创建的,应用程序中没有必要创建该类的实例。
dlmeijianyu 2008-11-01
  • 打赏
  • 举报
回复
它是所有类的基础.

62,612

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧