This page is optimized for mobile devices, if you would prefer the desktop version just click here

2.14 Java1628: the this and super keywords  (Page 2/8)

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:

  • To bypass local variables or parameters that hide member variables having the same name, in order to access the member variable.
  • To make it possible for one overloaded constructor to call another overloaded constructor in the same class.
  • To pass a reference to the current object to a method belonging to a different object (as in implementing callbacks, for example).
<< Chapter < Page Page > Chapter >>

Read also:

OpenStax, Object-oriented programming (oop) with java. OpenStax CNX. Jun 29, 2016 Download for free at https://legacy.cnx.org/content/col11441/1.201
Google Play and the Google Play logo are trademarks of Google Inc.
Jobilize.com uses cookies to ensure that you get the best experience. By continuing to use Jobilize.com web-site, you agree to the Terms of Use and Privacy Policy.