在其他文件的 运行 中使用来自另一个文件方法的 java 变量
using java variable from another file method in run of other file
我有两个这样的文件:
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;
}
}
在 Crypt.java 文件 运行 之后,我需要能够再次访问 Client.java 文件中的 val 变量。
我试过 cls.val
和 cls.decrypt.val
但我不知道如何让它工作。
感谢您的帮助!
因为你的 decrypt()
方法 returns 一个值,当你调用它时将它赋值给一个变量。
byte[] result = cls.decrypt(request, key, type);
然后您的 result
变量就是您想要的值,在 Client.java
中并准备好使用。
您在 class Crypt
中的 dycrypt()
方法是 Crypt
class 的 static
成员。所以你不需要在 Client
class 中创建 Crypt
class 的实例,比如 -
Crypt cls = new Crypt();
cls.decrypt(request,key,type);
您可以使用 class 名称调用 decrypt()
方法并将 returns 存储到 byte[]
数组中 -
byte[] vals = Crypt.decrypt(request, key, type);
然后使用 for loop/for-each 循环你可以打印 vals
数组 -
for(byte each : vals){
System.out.println(each);
}
只需将dectypt
的return值赋给一个变量即可使用。
byte[] res = cls.decrypt(request,key,type);
我有两个这样的文件:
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;
}
}
在 Crypt.java 文件 运行 之后,我需要能够再次访问 Client.java 文件中的 val 变量。
我试过 cls.val
和 cls.decrypt.val
但我不知道如何让它工作。
感谢您的帮助!
因为你的 decrypt()
方法 returns 一个值,当你调用它时将它赋值给一个变量。
byte[] result = cls.decrypt(request, key, type);
然后您的 result
变量就是您想要的值,在 Client.java
中并准备好使用。
您在 class Crypt
中的 dycrypt()
方法是 Crypt
class 的 static
成员。所以你不需要在 Client
class 中创建 Crypt
class 的实例,比如 -
Crypt cls = new Crypt();
cls.decrypt(request,key,type);
您可以使用 class 名称调用 decrypt()
方法并将 returns 存储到 byte[]
数组中 -
byte[] vals = Crypt.decrypt(request, key, type);
然后使用 for loop/for-each 循环你可以打印 vals
数组 -
for(byte each : vals){
System.out.println(each);
}
只需将dectypt
的return值赋给一个变量即可使用。
byte[] res = cls.decrypt(request,key,type);