<< Chapter < Page | Chapter >> Page > |
Non-static and static
The data can be further sub-divided into non-static and static , often referred to as i nstance variables and class variables respectively.
The methods are also often referred to as member methods , and they can also be static or non-static . Static methods are often referred to as class methods while non-static methods are often referred to as instance methods .
Instance variables and instance methods
The class body contains the declarations for, and possibly the initialization of all data members (both class variables and instance variables) as well as the full definition of all methods .
In this module, we will be particularly interested in instance variables and instance methods.
Every class is a subclass of Object
By default, every class in Java extends (either directly or indirectly) the class named Object . A new class may either extend Object , or extend another class that extends Object , or extend another class further down the inheritance hierarchy.
The immediate parent class of a new class is known as its superclass , and the new class is known as the subclass .
(Sometimes we use the word superclass to indicate the collection of classes in the inheritance hierarchy from which a specific class is derived.)
If you do not specify the superclass for a new class, it will extend Object by default.
The extends keyword
The keyword extends is used in the class declaration to specify the immediate superclass of the new class using the syntax shown in Figure 1 .
Figure 1 . The extends keyword. |
---|
class NewClass extends SuperClassName{
//body of class}//end class definition |
Inheritance
A class inherits the variables and methods of its superclass, and of the superclass of that class, etc., all theway back up the family tree to the single class Object , which is the root of all inheritance.
Thus, an object that is instantiated from a class contains all the instance variables and all the instance methods defined by that that class and defined byall its ancestors.
However, the methods may have been overridden one or more times along the way. Also, access to those variables and methods may have been restrictedthrough the use of the public , private , and protected keywords.
(There is another access level, often referred to as package private , which is what you get when you don't use an access keyword.)
The this keyword
Every instance method in every object in Java receives a reference named this when the method is called. The reference named this is a reference to the object on which the method was called. It can be used for anypurpose for which such a reference is needed.
Three common situations
There are at least three common situations where such a reference is needed:
Notification Switch
Would you like to follow the 'Object-oriented programming (oop) with java' conversation and receive update notifications?