变量可以在java语言中调用方法吗
我的问题是: java中的变量可以调用如下示例中的方法:变量可以在java语言中调用方法吗,java,Java,我的问题是: java中的变量可以调用如下示例中的方法: private void test(Rabbit rabbit, byte[] key, byte[] iv, byte[] data) { byte[] crypt = rabbit.crypt(data.clone());} 正如我所知,数据是一个变量,它调用clone()方法。 是否有数据变量或编号。在本例中,数据可以调用方法clone,因为数据是JVM创建的byte[]类的对象,因为它是一个可以调用clone方法的对象
private void test(Rabbit rabbit, byte[] key, byte[] iv, byte[] data) {
byte[] crypt = rabbit.crypt(data.clone());}
正如我所知,数据是一个变量,它调用clone()方法。
是否有数据变量或编号。在本例中,数据可以调用方法clone,因为数据是JVM创建的byte[]类的对象,因为它是一个可以调用clone方法的对象。这里的真正问题似乎是Java数组对象是否支持
.clone()
方法
答案是肯定的。所有Java数组都实现了Cloneable
,因此.clone()
方法将正常工作。看
请注意,这将是一个“浅”克隆。这对于基本体并不重要,但对于对象而言,这意味着克隆将包含对与原始对象相同的对象的引用,而不是对这些对象的克隆 这里,
数据
变量的数据类型是数组。在Java中,数组被视为对象的类型。因此,您可以使用data.length
和data.clone()
作为有效语句
length
是数组中的一个变量(类型为int
),而clone()
是对象
类(Java中所有类的超类)的方法。好吧……你看错了符号。简而言之,答案是“视情况而定。”
在Java中,有两种类型的东西:
- 原语,仅保存原始数值(对于
字符
,通常能够打印出来),以及
- 对象,它不仅可以保存值,还可以执行方法调用和访问实例信息
data
实际上是一个byte[]
,数组类型的特殊之处在于它们不是类的实例。也就是说,它有一些东西-clone()
,以及它继承的对象上的所有方法
本质上,您只能对对象调用方法,但不能对原语调用方法。java中有两种类型:原语类型和引用类型。只能对引用类型的变量调用方法。