非必要变量的构造函数

时间:2012-04-05 21:31:34

标签: java android

我想知道是否有可能,如果是这样,如何创建一个带三个变量的构造函数,但如果最后两个没有传递则不会通过错误?

类似的东西:

public void onCreate(Bundle savedInstanceState, String s1<non essential>) 
    {

3 个答案:

答案 0 :(得分:12)

创建更多构造函数

public MyCreate(Bundle savedInstanceState) 
    {

public MyCreate(Bundle savedInstanceState, String s1) 
    {

public MyCreate(Bundle savedInstanceState, String s1, String s2) 
    {

尝试在构造函数重载上阅读此article

答案 1 :(得分:0)

您有多种方法可以做到这一点。仅举几例:

  • 您可以拥有多个具有不同签名的构造函数(作为
    由dash1e建议
  • 您可以拥有所需变量类型的列表(或者 对象,如果你想要它是完全通用的),并有一个 获取列表并在存在时使用其值的构造函数。
  • 您可以拥有自定义数据模型类来封装三个 要处理的值的类型,并在构造函数中使用
    这样做,以便当它的价值被提取 你的类的构造函数,它们是你的参数的可选项 想。

答案 2 :(得分:0)

我真的很喜欢dash1e's answerLuis Miguel Serrano有一些很好的额外建议。

此外 - 如果合适 - 您可以使用varargs

public MyCreate(Bundle savedInstanceState, String ... args) 

具有相同的效果
public MyCreate(Bundle savedInstanceState, String [ ] args ) 

与路易斯·米格尔·塞拉诺(Luis Miguel Serrano)使用列表非常相似,但您不必为创建列表而烦恼。