سلام. کدی که در سوال مرتبط قبلی نوشته شد (یکی از کدهای آموزشهای جاوا کاپ) را به صورت زیر تغییر دادم:
class That {
private String name = "A";
public static void test(MainApp app) {
System.out.println(app.getName());
}
}
public class MainApp {
private String name = "B";
public void test(String name) {
this.name = name;
MainApp app = new MainApp();
That.test(app);
}
public String getName() {
return name;
}
public static void main(String[] args) {
new MainApp().test("C");
}
}
مگر منظور از شی جاری، آبجکت همان کلاسی که در آن هستیم نیست. یعنی در کد فوق، آبجکت کلاس MainApp؟ اگر منظور این است من بجای استفاده از this، یک آبجکت از روی کلاس MainApp ایجاد کردم و آن را ارسال کردم. اما جواب چیز دیگری است. در حالت عادی جواب باید C شود، ولی با کدی که در بالا است جواب B چاپ میشود. لطف کنید راهنمایی کنید. ممنون.