<< 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 phylogeny
Odigie Reply
evolutionary history and relationship of an organism or group of organisms
AI-Robot
ok
Deng
what is biology
Hajah Reply
the study of living organisms and their interactions with one another and their environments
AI-Robot
what is biology
Victoria Reply
HOW CAN MAN ORGAN FUNCTION
Alfred Reply
the diagram of the digestive system
Assiatu Reply
allimentary cannel
Ogenrwot
How does twins formed
William Reply
They formed in two ways first when one sperm and one egg are splited by mitosis or two sperm and two eggs join together
Oluwatobi
what is genetics
Josephine Reply
Genetics is the study of heredity
Misack
how does twins formed?
Misack
What is manual
Hassan Reply
discuss biological phenomenon and provide pieces of evidence to show that it was responsible for the formation of eukaryotic organelles
Joseph Reply
what is biology
Yousuf Reply
the study of living organisms and their interactions with one another and their environment.
Wine
discuss the biological phenomenon and provide pieces of evidence to show that it was responsible for the formation of eukaryotic organelles in an essay form
Joseph Reply
what is the blood cells
Shaker Reply
list any five characteristics of the blood cells
Shaker
lack electricity and its more savely than electronic microscope because its naturally by using of light
Abdullahi Reply
advantage of electronic microscope is easily and clearly while disadvantage is dangerous because its electronic. advantage of light microscope is savely and naturally by sun while disadvantage is not easily,means its not sharp and not clear
Abdullahi
cell theory state that every organisms composed of one or more cell,cell is the basic unit of life
Abdullahi
is like gone fail us
DENG
cells is the basic structure and functions of all living things
Ramadan
What is classification
ISCONT Reply
is organisms that are similar into groups called tara
Yamosa
in what situation (s) would be the use of a scanning electron microscope be ideal and why?
Kenna Reply
A scanning electron microscope (SEM) is ideal for situations requiring high-resolution imaging of surfaces. It is commonly used in materials science, biology, and geology to examine the topography and composition of samples at a nanoscale level. SEM is particularly useful for studying fine details,
Hilary
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