簡體   English   中英

getter 和 setter 應該成對使用嗎?

[英]Should getters and setters used in pairs?

我在Java學習getters和setters,我寫了下面的代碼:

import java.util.*;
class test{
    private  int num1;
    private int num2;
    Scanner sc=new Scanner(System.in);
    void mult(){
        num1=sc.nextInt();
        num2=sc.nextInt();
        System.out.println("Multiply = "+(num1*num2));
    }
    
    public int getnum1(){
        return num1; 
    }
    
    public int getnum2(){
        return num2; 
    }
}

class TestDemo{
    void add(){
        test ob=new test();
        System.out.println("Num 1 = "+ob.getnum1());
        System.out.println("Num 2 = "+ob.getnum2());
        
    }
}
public class Main
{
    public static void main(String[] args) {
        System.out.println("Hello World");
        test ob=new test();
        ob.mult();
        TestDemo ob2=new TestDemo();
        ob2.add();
    }
}

在 class TestDemo 中,我試圖訪問變量 num1 和 num2 的值,但在 output 中,我得到 0,如下所示: output

任何人都可以幫助我,我如何訪問 TestDemo 中 num1 和 num2 中的數據?

您應該將現有的測試實例 class 傳遞給 TestDemo,而不是創建一個新實例。 喜歡,

class TestDemo{
    private test ob;
    //set test instance through constructor or setter
   TestDemo(test ob) {
     this.ob=ob;
   }
    void add(){
        
        System.out.println("Num 1 = "+ob.getnum1());
        System.out.println("Num 2 = "+ob.getnum2());
        
    }
}
public class Main
{
    public static void main(String[] args) {
        System.out.println("Hello World");
        test ob=new test();
        ob.mult();
        TestDemo ob2=new TestDemo(ob);
        ob2.add();
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM