开发者

Constructor with fewer arguments from a constructor

开发者 https://www.devze.com 2022-12-24 18:19 出处:网络
I have Constructor Tree(int a, int b, int c) and second Constructor Tree(int a, int b, int c, String s). How to load second constructor from first just to save writing all the logics?

I have Constructor Tree(int a, int b, int c) and second Constructor Tree(int a, int b, int c, String s). How to load second constructor from first just to save writing all the logics? I thought about something like this but it gives me 'null' object.

public Tree(int a, int b, int c){
    Tree t开发者_Python百科1 = new Tree(a, b, c, "randomString");
}


The magic word is this, e.g.

public Tree( int a, int b, int c, String d ) {
    // Do something
}

public Tree( int a, int b, int c ) {
    this( a, b, c, "randomString" );
}


public Tree(int a, int b, int c){
    this(a, b, c, "randomString");
}


in the first line of a constructor, you can call another constructor:

public Tree(int a, int b, int c, String s)
{
}

public Tree(int a, int b, int c)
{
    this(a,b,c,"someString");
}


You can simply call the other constructor directly, using the keyword this to refer to the class containing the method. So, what you want is:

public Tree(int a, int b, int c){
    this(a, b, c, "randomString");
}
0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号