|
|
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. Instancein 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 theoutvariable directly from the class.System's
getProperty()method used in the code sample searches the properties database for the property called user.name.System.outis 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 |