2016-08-29 3 views
-5

私は最近、セッター、ゲッター、そしてこれについて学んだことがあります。 ゲッターを使うときとセッターを使うときには、かなり難しい時があります。
もう一つは、例えばcan i use setter method to print out ?私はセッター値(sysout)を出力することができますか、または出力を得るためにゲッターだけを使用する必要がありますか? (java)

class workerId { 
private int workerAge; 
private String workerName; 
private int workerIde; 

public void setWorkerAge(int newAge) { 
    newAge = workerAge; 
} 

public void setWorkerName(String newName) { 
    newName = workerName; 
} 

public int setIde(int ide) { 
    ide = workerIde; 
    return ide; 

} 
} 

public class App { 

public static void main(String[] args) { 
    workerId worker1 = new workerId(); 
    worker1.setWorkerAge(41); 
    worker1.setWorkerName("dan "); 
    worker1.setIde(318574524); 

    System.out.println(worker1.setIde()); 

    } 

} 

システムプリントアウトがエラーを示しており、私は理由を理解didntの唯一のゲッターは、SYSOUTコマンドで使用することができますので、それを何ですか?

+3

私のヒント:戻って、プログラミング –

+1

setIdeの学習の基礎を再起動するには、引数を取る関数です。その引数を指定する必要があります。 getIde関数を使用して結果を取得し、それを出力することができます –

+0

getterとsetterは一般的なプログラミングの習慣を表し、クラスインスタンス変数の値を設定して取得します。もしあなたがしたいと思うなら、それらの名前を変えることができます。あなたの現在のケースでは、 'setIde()'を呼び出していますが、あなたのメソッドは 'setIde(int)'として定義されています。ここで、あなたは( '' __nt''、 '' void''、 '' String'') 'int'パラメータがありません。加えて、setterは通常、戻り型の 'void'型です。 – SomeJavaGuy

答えて

1

あなたの設定者は間違っていませんが、設定者はすべて間違っています。 setterで渡された値にプロパティを割り当て、値を再度設定しないでください。だからあなたのコードは次のようになります。

class workerId { 
    private int workerAge; 
    private String workerName; 
    private int workerIde; 

    public void setWorkerAge(int newAge) { 
    workerAge = newAge; 
    } 

    public void setWorkerName(String newName) { 
    workerName = newName; 
    } 

    public int setIde(int ide) { 
    workerIde = ide; 
    } 
} 

あなたがゲッターが必要な場合、それは次のようになります。

class workerId { 
    private int workerAge; 
    private String workerName; 
    private int workerIde; 

    public void setWorkerAge(int newAge) { 
    workerAge = newAge; 
    } 

    public void setWorkerName(String newName) { 
    workerName = newName; 
    } 

    public int setIde(int ide) { 
    workerIde = ide; 
    } 
    public int getIde() { 
    return workerIde; 
    } 
} 

その後、あなたは、例えば、印刷することができますSystem.out.println(worker1.getIde());

0

値を取得するには、ゲッターメソッドを使用する必要があります。

class workerId { 
private int workerAge; 
private String workerName; 
private int workerIde; 

    public void setWorkerAge(int newAge) { 
     workerAge = newAge; 
    } 

    public void setWorkerName(String newName) { 
     workerName=newName; 
    } 
    public int getIde() { 
    return workerIde; 
    }  

    public void setIde(int ide) { 
     workerIde = ide; 

    } 
    } 

    public class App { 

    public static void main(String[] args) { 
     workerId worker1 = new workerId(); 
     worker1.setWorkerAge(41); 
     worker1.setWorkerName("dan "); 
     worker1.setIde(318574524); 

     System.out.println(worker1.getIde()); 

     } 

    } 
+0

それは動作しません、 complierは言う: "イデは変数に解決できません" あなたは説明できますか? – xepo

+0

@xepo申し訳ありませんが、私はエラーがゲッター機能にしかないと思っていました。あなたのセッター機能も間違っていました。 –

0
class workerId { 
    private int workerAge; 
    private String workerName; 
    private int workerIde; 

    public void setWorkerAge(int newAge) { 
     this.workerAge = newAge; 
    } 

    public void setWorkerName(String newName) { 
     this.workerName = newName; 
    } 

    public int setIde(int ide) { 
     this.workerIde = ide; 
     return this.workerIde; 

    } 
    } 


    public class Car { 

    public static void main(String[] args) { 
     workerId worker1 = new workerId(); 
     worker1.setWorkerAge(41); 
     worker1.setWorkerName("dan "); 
     worker1.setIde(318574524); 

    System.out.println(worker1.setIde(56)); 
    } 

} 
関連する問題