Invoking static methods

If a method or field is declared static, you access it by using the class name rather than a reference to a particular instance of the class. Therefore instead of writing

  Car c = new Car("New York", 89.7); 
  double maximumLegalSpeed = c.getSpeedLimit();
you just write

  double maximumLegalSpeed = Car.getSpeedLimit();
There does not even have to be an instance of a class in order to invoke a static method in the class.

Static methods may not call non-static methods or members of the same class directly. Rather they must specify which instance of the class they are referring to. Trying to call a non-static method or member is a very common compile time error. The specific error message generated by the javac compiler will look something like this

Error:    Can't make static reference to method void floorIt() in class Car. 
Of course the names and signature will be changed to match the specific method and class.

main() methods for testing


Previous | Next | Top
Last Modified October 11, 1999
Copyright 1998, 1999 Elliotte Rusty Harold
elharo@metalab.unc.edu