簡體   English   中英

如何僅使用構造函數的部分參數? (Java)

[英]How do I use only portion of parameters of constructors? (Java)

我被要求創建一種方法,以給定學生的街道編號(int)和門牌號(int)將學生添加到數組中。 這是我正在談論的示例。

  Student a = new Student("Abigail", 1, 5);

我只允許使用學生的門牌號和門牌號,這只是構造函數參數的一部分。 有什么方法可以僅從部分信息中關聯對象(學生)嗎?

這是我的構造函數:

 public Student(String n, int sN, int hN){
        name = n;
        streetNum = sN;
        houseNum = hN;
    }

您可以使用較少的參數創建另一個構造函數,如下所示:

public class Student {

    public static final String DEFAULT_NAME = "Cookie Monster";
    public static final String DEFAULT_STREET_NUMBER = 46; //Sesame Street Number?   

    private String name;
    private int streetNum;
    private int houseNum;

    public Student(String n, int sN, int hN){
        name = n;
        streetNum = sN;
        houseNum = hN;
    }

    public Student(int sN, int hN){
        this(DEFAULT_NAME, sN, hN);
    }

    public Student(int hN){
        this(DEFAULT_STREET_NUMBER, hN);
    }
}  

我認為有兩種方法:

1)創建一個像這樣的構造函數:

public Student(int sN, int hN){
        streetNum = sN;
        houseNum = hN;
    }

並像這樣使用它:

  Student a = new Student(1, 5);

2)或者,如果您不想使用構造函數,則使用如下代碼:

  Student a = new Student("", 1, 5);

您可以在Construction中使用null。 例如new Student(null, 5, 1)通常可以使用new Student(null, 5, 1)但是您可以使用此方法覆蓋默認值,例如當名稱默認為private String name = "Peter"

暫無
暫無

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

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