<< Chapter < Page Chapter >> Page >

Computing the area of a circle

In this program, the Worker class provides a static method named area that receives a double parameter representing the radius of a circle. It computes and returns the area of the circle as a double value. The static method named area is shown in the following code fragment.

class Worker{ public static double area(double r){return r*r*Math.PI; }//end area()}// end class

As a driver, the main method of the controlling class calls the area method twice in succession, passing different values for the radius of a circle. In each case, the main method receives and displays the value that is returned by the area method representing the area of a circle.

Static methods in the class libraries

If you examine the Java API documentation carefully, you will find numerous examples of static methods that produce and return something on a non-persistent basis. (Again, non-persistent in this context means that no attempt is made by the static method to store any historical information. It does a job, forgets it, and goes on to the nextjob when it is called again.)

Factory methods

For example, the alphabetical index of the JDK 1.3 API lists several dozen static methods named getInstance , which are defined in different classes. These methods, which usually produce and return areference to an object, are often called factory methods .

Here is the text from the API documentation describing one of them:

getInstance(int)

Static method in class java.awt.AlphaComposite

Creates an AlphaComposite object with the specified rule.

Back to Question 10

Answer 9

C. 5

Explanation 9

Going through a reference to ...

This program illustrates a rather convoluted methodology by which a static method can gain access to an instance member of an object.

class Worker{ private int x = 5;public static void staticMethod(){ System.out.println(new Worker().getX()); }//end staticMethod()public int getX(){return x; }//end getX()}// end class

In this example, the static method calls a getter method on a reference to an object to gain access to an instance variable belongingto that object. This is what I meant in the discussion in the previous question when I said "going through a reference to an object of the class."

Back to Question 9

Answer 8

A. Compiler Error

Explanation 8

A static method cannot access ...

A static method cannot access non-static or instance members of its class without going through a reference to an object of the class.

In this program, the static method attempts to directly access the instance variable named x . As a result, JDK 1.3 produces the following compiler error:

Ap107.java:17: non-static variable x cannot be referenced from a static contextSystem.out.println(x);

Back to Question 8

Answer 7

C. A static method

Explanation 7

Using a static method

This is a very straightforward example of the use of a static method.

When a method is declared static , it is not necessary to instantiate an object of the class containing the method in order to access themethod (although it is possible to do so unless the class is declared abstract) . All that is necessary to access a public static method is to refer to the name of the class in which it is defined and the name of the method joined by aperiod.

Questions & Answers

what is mutation
Janga Reply
what is a cell
Sifune Reply
how is urine form
Sifune
what is antagonism?
mahase Reply
classification of plants, gymnosperm features.
Linsy Reply
what is the features of gymnosperm
Linsy
how many types of solid did we have
Samuel Reply
what is an ionic bond
Samuel
What is Atoms
Daprince Reply
what is fallopian tube
Merolyn
what is bladder
Merolyn
what's bulbourethral gland
Eduek Reply
urine is formed in the nephron of the renal medulla in the kidney. It starts from filtration, then selective reabsorption and finally secretion
onuoha Reply
State the evolution relation and relevance between endoplasmic reticulum and cytoskeleton as it relates to cell.
Jeremiah
what is heart
Konadu Reply
how is urine formed in human
Konadu
how is urine formed in human
Rahma
what is the diference between a cavity and a canal
Pelagie Reply
what is the causative agent of malaria
Diamond
malaria is caused by an insect called mosquito.
Naomi
Malaria is cause by female anopheles mosquito
Isaac
Malaria is caused by plasmodium Female anopheles mosquitoe is d carrier
Olalekan
a canal is more needed in a root but a cavity is a bad effect
Commander
what are pathogens
Don Reply
In biology, a pathogen (Greek: πάθος pathos "suffering", "passion" and -γενής -genēs "producer of") in the oldest and broadest sense, is anything that can produce disease. A pathogen may also be referred to as an infectious agent, or simply a germ. The term pathogen came into use in the 1880s.[1][2
Zainab
A virus
Commander
Definition of respiration
Muhsin Reply
respiration is the process in which we breath in oxygen and breath out carbon dioxide
Achor
how are lungs work
Commander
where does digestion begins
Achiri Reply
in the mouth
EZEKIEL
what are the functions of follicle stimulating harmones?
Rashima Reply
stimulates the follicle to release the mature ovum into the oviduct
Davonte
what are the functions of Endocrine and pituitary gland
Chinaza
endocrine secrete hormone and regulate body process
Achor
while pituitary gland is an example of endocrine system and it's found in the Brain
Achor
what's biology?
Egbodo Reply
Biology is the study of living organisms, divided into many specialized field that cover their morphology, physiology,anatomy, behaviour,origin and distribution.
Lisah
biology is the study of life.
Alfreda
Biology is the study of how living organisms live and survive in a specific environment
Sifune
Got questions? Join the online conversation and get instant answers!
Jobilize.com Reply

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  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.

Notification Switch

Would you like to follow the 'Object-oriented programming (oop) with java' conversation and receive update notifications?

Ask