Java中的this()是什么意思?

9

this() 在Java中是什么意思?

看起来只有在特定情况下才有效。

this();

在类变量区域。

有没有人对此有想法?

谢谢。


我在另一篇帖子上回答了类似的问题。这可能有所帮助 https://dev59.com/NGUo5IYBdhLWcg3wpg7N - Avi
7个回答

7
这意味着你正在从另一个构造函数中调用默认构造函数。它必须是第一条语句,如果你已经使用了super(),则不能使用它。这种情况相当少见。

6

这是对无参构造函数的调用,你可以在另一个构造函数中将其作为第一条语句来调用,避免重复代码。

public class Test {

        public Test() {
        }

        public Test(int i) {
          this();
          // Do something with i
        }

}

3
这意味着“调用没有参数的构造函数”。例如:
public class X {
    public X() {
        // Something.
    }
    public X(int a) {
        this();   // X() will be called.
        // Something other.
    }
}

1

调用 this() 将调用没有参数的类构造函数。

您可以像这样使用它:

public MyObj() { this.name = "Me!"; }
public MyObj(int age) { this(); this.age = age; }

1
哦天啊...不要那样做!public MyObj() {this("我!");} public MyObj(String nm) { this(name, 0);} MyObj(String nm, int a) { name = nm; age = a; } - TofuBeer
function 不是 Java 的关键字。 - barrowc
@barrow:又在混用我的语言了,谢谢。 - Josh K
@Tufu:我只是举了一个例子来说明如何使用它,而不是正确的用法。 - Josh K

1

0

0

一个类调用它自己的默认构造函数。通常我们会看到使用带有参数的情况。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接