Хейя, как я только что узнал, java поддерживает только передачу по значению... Затем...
class Printer { public void print(Paper p){ p.setText("Get Lost!"); } } class Paper { String text; public void setText(String t){ text = t; } public String getText() { return text; } } public class Prog21 { public static void main(String[] args) { Paper p = new Paper(); p.setText("Hello World!"); System.out.println(p.getText()); Printer hp = new Printer(); hp.print(p); System.out.println(p.getText()); } }
Что я уже пробовал:
чего я здесь не понимаю, так это как изменяется значение p? В pass by value должна быть изменена только копия p, верно? могу ли я получить ответ в контексте call-by-value, пожалуйста?