如何在 Java 9 中的 JShell 中声明引用类型?
javaobject oriented programmingprogramming更新于 2025/10/25 7:08:17
JShell 是 Java 9 中的交互式工具,允许用户输入、评估并向用户打印输出。
与值类型不同,引用类型不直接存储其值。相反,它将存储存储值的地址。这意味着引用类型包含指向保存数据的另一个内存位置的指针。引用类型是字符串、数组、类和委托。
在下面的代码片段中,当我们创建Animal的新实例时,它可以在堆内存上创建。new Animal()在堆上创建一个对象。 Animal@73846619,该对象存储在堆的地址 73846619 上。
代码片段-1
jshell> class Animal {
...> }
| created class Animal
jshell> Animal dog = new Animal();
dog ==> Animal@73846619
在下面的代码片段中,在堆上创建了两个新的 Animal 对象。它们的内存位置(引用)存储在引用变量 dog 和 cat 中。在 Java 中,所有类都是引用类型。除了原始变量实例外,所有实例或对象都存储在堆上。对对象的引用存储在引用变量中,例如dog 和cat。
Snippet-2
jshell> class Animal {
...> int id;
...> public Animal(int id) {
...> this.id = id;
...> }
...> }
| created class Animal
jshell> Animal dog = new Animal(10);
dog ==> Animal@6adede5
jshell> Animal cat = new Animal(20);
cat ==> Animal@5025a98f
在下面的代码片段中,"j = I"将"I"的值复制到"j"中。之后,当"j"的值改变时,"I"不受影响。通过使用原始变量,比较它们的值。
代码片段-3
jshell> int i = 5; i ==> 5 jshell> int j; j ==> 0 jshell> j = i; j ==> 5 jshell> j = 10; j ==> 10 jshell> i; i ==> 5 jshell> i == j; $11 ==> false jshell> j = 5; j ==> 5 jshell> i == j; $13 ==> true
相关文章
有用资源
java 参考教程 - 该教程包含有关 java 的更多信息:https://www.cainiaomax.com/java/

