Class


...Section: Class

A class is something that encapsulates functions as well as data, e.g.,

public class SomeClass {
  
  // Example of data:
  int i;

  // Example of a constructor
  public SomeClass(int i) {
    this.i = i;  
    // this.i refers to the instance variable i as opposed to the argument i
  }

  // Example of a function:
  public void printStuff ()
  {
    System.out.println (i);
  }

  // Main function.  Not all classes have a main
  public static void main (String[] argv)
  {
    SomeClass sc = new SomeClass(42)
    sc.printStuff (); 
  }

} // End of class SomeClass

Note three conventions that java programmers tend to follow:

  1. Class names begin with a Capital letter and continue in lower case (subject to (3))
  2. Variable names begin with a lower case letter and continue that way (subject to (3))
  3. If a name consists of many words, the start of a new word inside the name is signified with a Capital letter

You can have multiple classes in a single file, but only one may be public. The public class name must match the file name. For example the above class SomeClass should live in a file called SomeClass.java. If you have a main method, it should be in the public class if it is to run.

Here are some charming facts about methods:

Modifiers like public are used to indicate the visibility of class members. We use the dot-operator to access methods (or data) from another class, e.g,

public class SomeClass {
  
  // Example of data:
  int i;

  // Examples of constructors
  public SomeClass() {
    i = 0;             // provide a default value if called with no args
  }
  public SomeClass(int i) {
    this.i = i;  
    // this.i refers to the instance variable i as opposed to the argument i
  }

  // Example of a function:
  public void printStuff ()
  {
    System.out.println (i);
  }

  // Main function.  Not all classes have a main
  public static void main (String[] argv)
  {
    AnotherClass sc = new AnotherClass(42)
    sc.printStuff (); 
  }

} // End of class SomeClass

Even though there is a printStuff method in SomeClass, the programmer has decided to call a printStuff method belonging to another class (presumably because it is better for current purposes.


Exercise 1

Complete the following definition of AnotherClass.
class AnotherClass {
  public void printStuff (int i)
  {

  }
} 
so that when you java SomeClass the output is:
The integer value is: 42
and thank you for using AnotherClass



rhyspj@gwu.edu