官术网_书友最值得收藏!

  • Java 9 with JShell
  • Gastón C. Hillar
  • 329字
  • 2021-07-09 18:46:48

Understanding classes and instances in Java 9

In the previous chapter, we learned some of the basics of the object-oriented paradigm, including classes and objects. We started working on the backend for a Web Service related to 2D shapes. We ended up creating a UML diagram with the structure of many classes, including their hierarchy, fields, and methods. It is time to take advantage of JShell to start coding a basic class and work with its instances in JShell.

In Java 9, a class is always the type and blueprint. The object is the working instance of the class, and therefore, objects are also known as instances.

Note

Classes are first-class citizens in Java 9 and they will be the main building blocks of our object-oriented solutions.

One or more variables can hold a reference to an instance. For example, consider that we have the following three variables of the Rectangle type:

  • rectangle1
  • rectangle2
  • rectangle10
  • rectangle20

Let's consider that the rectangle1 variable holds a reference to an instance of the Rectangle class with its width set to 36 and its height set to 20. The rectangle10 variable holds a reference to the same instance referenced by rectangle1. Thus, we have two variables that hold a reference to the same Rectangle object.

The rectangle2 variable holds a reference to an instance of the Rectangle class with its width set to 22 and its height set to 41. The rectangle20 variable holds a reference to the same instance referenced by rectangle2. We have another two variables that hold a reference to the same Rectangle object.

The following picture illustrates the situation where many variables of the Rectangle type that hold a reference to a single instance. The variable names are at the left-hand side and the rectangles with their width and height values represent a specific instance of the Rectangle class.

We will work with many variables that hold a reference to a single instance in JShell later in this chapter.

主站蜘蛛池模板: 罗定市| 肃北| 平江县| 加查县| 舒兰市| 霍州市| 湘西| 民勤县| 遂溪县| 孙吴县| 祁连县| 天门市| 伊金霍洛旗| 巴彦县| 康乐县| 贵阳市| 邢台市| 湖南省| 依兰县| 新绛县| 大丰市| 河源市| 任丘市| 肥西县| 太保市| 大同市| 安远县| 昭通市| 汉沽区| 镇雄县| 隆安县| 黄大仙区| 龙江县| 南皮县| 渭源县| 突泉县| 喀喇沁旗| 武川县| 新民市| 梁山县| 德化县|