JShell 是Java 9中的一个交互式工具,允许用户输入、评估并将输出打印给用户。
与值类型不同,引用类型不直接存储其值。相反,它将存储值存储的地址。这意味着引用类型包含一个指向另一个内存位置的指针,该位置保存数据。引用类型包括String、数组、类和委托。
在下面的代码片段中,当我们创建一个Animal的新实例时,它可以被创建在堆内存上。 new Animal()在堆上创建一个对象。 Animal@73846619,该对象存储在地址73846619的堆上。
jshell> class Animal { ...> } | created class Animal jshell> Animal dog = new Animal(); dog ==> Animal@73846619
在下面的代码片段中,两个新的Animal对象在堆上创建。它们的内存位置(引用)存储在引用变量dog和cat中。在Java中,所有的类都是引用类型。除了原始变量实例外,所有实例或对象都存储在堆上。对象的引用存储在像dog和cat这样的引用变量中。
代码片段-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
I在下面的代码片段中,“j = I " 将“I”的值复制到“j”中。之后,当“j”的值改变时,“I”不受影响。通过使用原始变量,比较它们的值。
Snippet-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 9中如何在JShell中声明引用类型?的详细内容,更多请关注编程之家其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。