在运行其他文件时使用来自其他文件方法的java变量
我有两个这样的文件:在运行其他文件时使用来自其他文件方法的java变量,java,arrays,variables,static,static-methods,Java,Arrays,Variables,Static,Static Methods,我有两个这样的文件: public class Crypt{ public static byte[] decrypt(byte[] val, byte[] key, int type) { //val assigned here // the following is used to assign it. val[length - len - 1] ^= key[8 + (((byte)(key[8 + b] + key[8 +
public class Crypt{
public static byte[] decrypt(byte[] val, byte[] key, int type)
{
//val assigned here
// the following is used to assign it.
val[length - len - 1] ^= key[8 + (((byte)(key[8 + b] + key[8 + a])) & 0xFF)];
return val;
}
}
Client.java:
public class Client implements Runnable {
//code
public void run() {
//more code
Crypt cls = new Crypt();
cls.decrypt(request,key,type);
//print "val" here.
//more code
}
}
然后是Crypt.java文件,如下所示:
public class Crypt{
public static byte[] decrypt(byte[] val, byte[] key, int type)
{
//val assigned here
// the following is used to assign it.
val[length - len - 1] ^= key[8 + (((byte)(key[8 + b] + key[8 + a])) & 0xFF)];
return val;
}
}
我需要能够在Client.java文件中的val变量运行完Crypt.java文件后再次访问它
我试过cls.val
和cls.decrypt.val
但是我不知道如何让它工作
谢谢你的帮助 因为您的decrypt()
方法返回一个值,所以在调用它时将其分配给一个变量
byte[]result=cls.decrypt(请求、密钥、类型)代码>
然后,您的结果
变量就是您想要的值,在Client.java
中,可以随时使用。类Crypt
中的dycrypt()
方法是Crypt
类的静态
成员。因此,您不需要在Client
类中创建Crypt
类的实例,如-
Crypt cls = new Crypt();
cls.decrypt(request,key,type);
您可以使用类名调用decrypt()
方法,并将返回值存储到字节[]
数组中-
byte[] vals = Crypt.decrypt(request, key, type);
for(byte each : vals){
System.out.println(each);
}
然后使用for循环/对于每个循环,您可以打印vals
数组-
byte[] vals = Crypt.decrypt(request, key, type);
for(byte each : vals){
System.out.println(each);
}
只需将dectypt
的返回值赋给一个变量并使用它即可
byte[] res = cls.decrypt(request,key,type);
您在哪里申报的val
?它是一个方法局部变量或实例变量或静态变量?存储返回值byte[]res=cls.decrypt(请求、密钥、类型)只需将cls.decrypt()
的结果分配给某个对象即可。而且,似乎传递给该方法的是原始字节数组。所以您的请求变量也指向它。@tomse post as answer m8;)您甚至不必使用新操作符-Crypt cls=new Crypt()
,因为decrypt()
是一种静态方法。看看我的答案。