<< Chapter < Page Chapter >> Page >
java.lang.NullPointerException at Worker.doArrays(Ap057.java:14)at Ap057.main(Ap057.java:6)

This is a common programming error, and most Java programmers have seen an error message involving a NullPointerException several (perhaps many) times during their programming careers.

Back to Question 9

Answer 8

C. OK

Explanation 8

Success at last

This program finally gets it all together and works properly. In particular, after accessing the reference values stored in each of the elements, the programdoes something legal with those values.

Call methods on the object's references

In this case, the code calls one of the public methods belonging to the objects referred to by the reference values stored in the array elements.

System.out.println(A[0].getText() + A[1].getText());

The getText method that is called, returns the contents of the Label object as type String . This makes it possible to perform String concatenation on the values returned by the method, so the program compiles and executes properly.

Back to Question 8

Answer 7

A. Compiler Error

Explanation 7

Java arrays may seem different to you

For all types other than the primitive types, you may find the use of arrays in Java to be considerably different from what you are accustomed to in otherprogramming languages. There are a few things that you should remember.

Array elements may contain default values

If the declared type of an array is one of the primitive types, the elements of the array contain values of the declared type. If you have not initializedthose elements or have not assigned specific values to the elements, they will contain default values.

The default values

You need to know that:

  • The default for numeric primitive types is the zero value for that type
  • The default for the boolean type is false
  • The default for the char type is a 16-bit unsigned integer, all of whose bits have a zero value (sometimes called a null character)
  • The default value for reference types is null , not to be confused with the null character above. (An array element that contains null doesn't refer to an object.)

Arrays of references

If the declared type for the array is not one of the primitive types, the elements in the array are actually reference variables. Objects are neverstored directly in a Java array. Only references to objects are stored in a Java array.

If the array type is the name of a class ...

If the declared type is the name of a class, references to objects of that class or any subclass of that class can be stored in the elements of the array.

If the array type is the name of an interface ...

If the declared type is the name of an interface, references to objects of any class that implements the interface, or references to objects of anysubclass of a class that implements the interface can be stored in the elements of the array.

Why did this program fail to compile?

Now back to the program at hand. Why did this program fail to compile? To begin with, this array was not designed to store any of the primitive types.Rather, this array was designed to store references to objects instantiated from the class named Label , as indicated in the following fragment.

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