Java包与JAVA中的系统

时间:2014-09-18 20:33:31

标签: java

我刚刚学习JAVA(在很长一段时间内),我有一个简单的问题。 java.somethingSystem.something之间有什么区别?

我得到的初学者书不够详尽(至少现在还没有)。

4 个答案:

答案 0 :(得分:1)

对于java.something,这是一个包:包中包含可在程序中使用的各种类。如果你想使用特定的课程 - 比如java.util.Random - 你可以将其全部称为java.util.Random,或者在课程顶部有一个import行告诉Java在哪里找到Random类,然后将其称为Random

System是一个类,它包含在java.lang包中。 (并且java.lang类始终会导入到您的项目中,因此在这种情况下您不需要import行。)当您引用System.something()时,您指的是{ {1}}类,并调用该类的System方法。

大多数情况下,如果要在类something()上调用方法something(),则创建Someclass的实例,然后在其上调用Someclass:< / p>

something()

但是对于Someclass x = new Someclass(); x.something(); 方法,您无需创建实例即可调用它。 static的方法是静态的,因此您只需将它们作为

调用
System

不创建类型为System.something(); 的实例。

答案 1 :(得分:1)

在Java中,类和接口按packages组织(&lt; - 单击以转到教程)。

System是包java.lang中的一个类。

如果您看到例如System.out,则表示您正在使用属于out类的成员变量System执行某些操作。

当您看到例如java.util.Date时,则表示您正在使用包Date中的类java.util。您可以使用类的完全限定名称java.util.Date,也可以import使用该类,然后只使用类名Date

// At the beginning of your source file
import java.util.Date;

// Now you can just use the short name Date instead
// of the long name java.util.Date
Date now = new Date();

答案 2 :(得分:0)

很难说,System.somethingjava.lang.System.something的简写。您指的是JDK中的System类。

如果你看到java.something,它将成为JDK中内置的包名(例如java.sqljava.util等)。这是Sun / Oracle为JDK包保留的。

答案 3 :(得分:0)

系统类属于java.lang包,默认情况下导入java.lang包中的所有类,因此您无需导入java.lang。*;

另一方面,要使用java.something包中的类,必须使用类名

编写包名
Object obj = new java.something.YourClass();

或者您必须使用import statement

import java.something.YourClass;
...
Object obj = new YourClass();