在java中,this和this()之间有什么区别

在java中,this和this()之间有什么区别,java,jakarta-ee,Java,Jakarta Ee,请确认我是this关键字引用它所属的类,并且this()方法引用它所属的类构造函数 类测试器{ 私有字符串名; 公共测试人员(){ 这(“堆栈溢出”); } 公共测试器(字符串str){ this.blogName=str; } 公共字符串getBlogName(){ 返回博客名; } } 这有助于我判断它们之间是否存在其他差异。第一个示例在默认构造函数中调用重载构造函数。您可以通过这种方式调用所有重载构造函数。它必须是构造函数中的第一行,就像对super()的调用一样 第二个显示了特殊名称t

请确认我是
this
关键字引用它所属的类,并且
this()
方法引用它所属的类构造函数

类测试器{
私有字符串名;
公共测试人员(){
这(“堆栈溢出”);
}
公共测试器(字符串str){
this.blogName=str;
}
公共字符串getBlogName(){
返回博客名;
}
}

这有助于我判断它们之间是否存在其他差异。

第一个示例在默认构造函数中调用重载构造函数。您可以通过这种方式调用所有重载构造函数。它必须是构造函数中的第一行,就像对super()的调用一样

第二个显示了特殊名称this如何引用类中的当前实例。只需整理名称重复:

public class ThisDemo {

    private static final String DEFAULT_VALUE = "REQUIRED"; 
    private String value;

    public ThisDemo() {
        this(DEFAULT_VALUE);
    }

    publi ThisDemo(String value) {
        // Required here because the private member and parameter have same name
        this.value = value;
    }

    public String getValue() { 
        // Not required here, but I prefer to add it.  
        return value;
    }
}

是对代表当前方法调用的对象的引用<代码>此(任何内容)是构造函数的调用。

此(“堆栈溢出”)
正在调用类中的另一个构造函数(称为委托构造函数)


this.blogName=str1
将引用分配给str1所引用的任何字段
blogName
。此实例中的
this
是多余的,但用于消除字段名与同名函数参数之间的歧义。

这是Java中的一个关键字,表示类的当前实例

此(“stackoverflow”)
正在调用类中的构造函数,该构造函数将是一个重载调用。您可以通过这种方式调用同一类的任何其他构造函数