<< Chapter < Page Chapter >> Page >

If you define any constructors, the default constructor will no longer be provided automatically. Therefore, if a constructor that takes no arguments willever be needed for your new class, and you define one or more parameterized constructors, you must define the noarg constructor when you define your class.

A parameterized constructor for Worker

The class named Worker in this program defines a constructor that receives two incoming parameters, one of type int and the other of type boolean . It uses those two incoming parameters to initialize two instance variables of the new object.

Oops!

However, it does not define a constructor with no arguments in the formal argument list (commonly called a noarg constructor) .

Calling the missing noarg constructor

The following code in the main method of the controlling class attempts to instantiate two objects of the Worker class. The first call of the constructor passes no parameters to the constructor. Thus, it requires a noarg constructor in order to instantiate the object.

public class Ap118{ public static void main(String args[]){new Worker().display(); new Worker(5,true).display();System.out.println(); }//end main()}//end class Ap118

A compiler error

Since there is no constructor defined in the Worker class with an empty formal argument list (and the default version is not provided) , the program produces the following compiler error.

Ap118.java:11: cannot resolve symbol symbol : constructor Worker() location: class Workernew Worker().display();

Back to Question 9

Answer 8

C. 0 0.0 false

Explanation 8

All instance variables are initialized to default values

All instance variables are automatically initialized to default values if the author of the class doesn't take explicit steps to cause them to initialized toother values.

The default values

Numeric variables are automatically initialized to zero, while boolean variables are automatically initialized to false. Instance variables of type char are initialized to a Unicode value with all 16 bits set to zero. Reference variables are initialized to null.

Back to Question 8

Answer 7

A. Compiler Error

Explanation 7

Pushing the compiler beyond its limits

Compared to many programming environments, the Java compiler is very forgiving. However, there is a limit to how far even the Java compiler iswilling to go to keep us out of trouble.

Initializing the value of a static variable

We can initialize the value of a static variable using an initialization expression as follows:

public static final MY_CONSTANT = initialization expression;

Important point

It is necessary for the compiler to be able to evaluate the initialization expression when it is encountered.

Illegal forward reference

This program attempts to use an initialization expression that makes use of the value of another static variable (myPI) that has not yet been established at that point in the compilation process. As a result, the program produces thefollowing compiler error under JDK 1.3.

Ap116.java:18: illegal forward reference = 2 * myPI;^

Questions & Answers

What are types of cell
Nansoh Reply
how can I get this book
Gatyin Reply
what is lump
Chineye Reply
what is cell
Maluak Reply
what is biology
Maluak
what's cornea?
Majak Reply
what are cell
Achol
Explain the following terms . (1) Abiotic factors in an ecosystem
Nomai Reply
Abiotic factors are non living components of ecosystem.These include physical and chemical elements like temperature,light,water,soil,air quality and oxygen etc
Qasim
what is biology
daniel Reply
what is diffusion
Emmanuel Reply
passive process of transport of low-molecular weight material according to its concentration gradient
AI-Robot
what is production?
Catherine
Pathogens and diseases
how did the oxygen help a human being
Achol Reply
how did the nutrition help the plants
Achol Reply
Biology is a branch of Natural science which deals/About living Organism.
Ahmedin Reply
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
cell is the smallest unit of the humanity biologically
Abraham
ok
Achol
what is biology
Victoria Reply
what is biology
Abraham
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