Working with objects

Figure 203. The new operator: Creating rectangle instances Slide presentation Create comment in forum
Rectangle dashedRectangle = new Rectangle();

Rectangle solidRectangle = new Rectangle();

...

Figure 204. Syntax creating instances Slide presentation Create comment in forum
new class-name ([argument 1[, argument 2] ...] )
Wording examples:
  • Create an instance of class Rectangle.

  • Create a Rectangle object.

  • Create a Rectangle.


Figure 205. Assigning attribute values to class instances Slide presentation Create comment in forum
Rectangle dashedRectangle = new Rectangle();

dashedRectangle.width = 28;
dashedRectangle.height = 10;
dashedRectangle.hasSolidBorder = false;

Syntax accessing object attributes:

variable.attributeName = value;

Figure 206. Instance memory representation Slide presentation Create comment in forum
Instance memory representation

Figure 207. References and null Slide presentation Create comment in forum
Rectangle r = new Rectangle();// Creating an object

r.width = 28; // o.K.

r = null;// removing reference to object

r.width = 28; // Runtime error: NullPointerException (NPE)
Exception in thread "main" java.lang.NullPointerException
  at de.hdm_stuttgart.mi.classdemo.App.main(App.java:17)

Figure 208. Checking for object presence Slide presentation Create comment in forum
Rectangle r;

... // possible object assignment to variable r.

if (null == r) {
  System.out.println("No rectangle on offer");
} else {
  System.out.println("Width:" + r.width);
}