- 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
rectangle2
0
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.
- Java逍遙游記
- Android和PHP開(kāi)發(fā)最佳實(shí)踐(第2版)
- C# 從入門(mén)到項(xiàng)目實(shí)踐(超值版)
- 深入淺出WPF
- 實(shí)用防銹油配方與制備200例
- GitLab Repository Management
- 移動(dòng)界面(Web/App)Photoshop UI設(shè)計(jì)十全大補(bǔ)
- RSpec Essentials
- RabbitMQ Essentials
- Django 3.0入門(mén)與實(shí)踐
- 大學(xué)計(jì)算機(jī)基礎(chǔ)
- Visual Basic 程序設(shè)計(jì)實(shí)踐教程
- AI輔助編程Python實(shí)戰(zhàn):基于GitHub Copilot和ChatGPT
- Roslyn Cookbook
- C#程序設(shè)計(jì)基礎(chǔ)與實(shí)踐