Java,一种类似指针的编程方法

Java,一种类似指针的编程方法,java,Java,如何通过传递d1的指针来更改d1的值?Java中没有指针。而是返回以下值: boolean d1 = false, d2 = false; void func(boolean b) { b = !b; } void caller() { func(d1); System.out.println(d1);//I expect the value of d1 to be true } 而在调用方中: boolean func(boolean b) { retur

如何通过传递
d1
的指针来更改
d1
的值?

Java中没有指针。而是返回以下值:

boolean d1 = false, d2 = false;

void func(boolean b)
{
    b = !b;
}

void caller()
{
    func(d1);
    System.out.println(d1);//I expect the value of d1 to be true
}
而在调用方中:

boolean func(boolean b)
{
    return !b;
}
这将打印
true

如果要将多个内容传递到方法中,请将其放入对象中。例如,假设您有一个Person类:

d1 = func(d1);
System.out.println(d1);
现在让我们假设您想要一个可以更改人名的方法:

class Person {

    public String name;
    public String lastName;
}

因为对象是通过引用传递的,所以这是可行的。

这个问题似乎缺乏任何研究。Java总是有助于理解在Java中方法(由于@Luiggi Mendoza)参数是通过值传递的。调用函数“func(param)”时,会复制“param”,对“func()”所做的任何更改都会在复制时生效。@ColdHack Java没有函数,它有方法。我可以这样做,但我正在寻找一种方法来处理多个变量,而不是只处理一个。@Luka传递一个对象。将所有变量包装在一个对象中,然后使用对象。将所有需要的变量放入一个对象中,然后传递该对象。我会详细说明的…好的,谢谢你的帮助!
void changeName(Person p) {
    p.name = "Jon";
    p.lastName = "Skeet";
}