Using System Resources |
Unlike most other classes, you don't instantiate the System class to use it.** All of System's variables and methods are class variables and class methods; they are declaredstatic
. For more information about class variables and methods and how they differ from instance variables and methods, refer to Static vs. Instance in the The Anatomy of a Java Application.To use a class variable, you use it directly from the name of the class using Java's dot ('.') notation. For example, to reference the System's class variable
out
, you append the variable name (out
) to the end of the class name (System
) separated by a period ('.') like this:You call class methods in a similar fashion but you need to indicate to the compiler that this is a method (not a variable). You do this with parentheses ( and ). Any arguments to the method go between the two parentheses; if there are no arguments, nothing appears between the parentheses. So, to reference the System's class methodSystem.outgetProperty()
, you append the method name (getProperty
) to the end of the class name (System
) separated by a period ('.') and you append the parenthesis and arguments after that like this:This small Java program uses the System class (twice) to retrieve the current user's name and display it.System.getProperty(argument);You'll notice that the program never instantiated a System object; it just referenced theclass UserNameTest { public static void main(String args[]) { String name; name = System.getProperty("user.name"); System.out.println(name); } }getProperty()
method and theout
variable directly from the class.System's
getProperty()
method used in the code sample searches the properties database for the property called user.name.System.out
is a PrintStream that implements the standard output stream. TheSystem.out.println()
method prints it argument to the standard output stream. The next page of this lesson discusses System's standard output stream.** To be more precise, you can't instantiate the System class--it's a final class and all of its constructors are private.
Using System Resources |