JAVA:当我可以使用我想使用的对象的全名时,变量“this”的目的是啥? [复制]

Posted

技术标签:

【中文标题】JAVA:当我可以使用我想使用的对象的全名时,变量“this”的目的是啥? [复制]【英文标题】:JAVA: What is the purpose of the variable "this" when I can use the full name of an Object I want to use? [duplicate]JAVA:当我可以使用我想使用的对象的全名时,变量“this”的目的是什么? [复制] 【发布时间】:2014-02-19 12:17:52 【问题描述】:

如果我可以使用全名来引用对象,特殊变量“this”有什么用。例如:“Object.name”或 Object.age”

【问题讨论】:

this 是一个关键词。不可变。 目前该特定问题的所有重复项是怎么回事?有什么地方正在进行测试吗? ;) 亲爱的上帝永远不要那样访问你的变量。此外,切勿以大写开头命名您的对象!访问数据和命名约定有一些规则。请阅读它们 @Henrik Lol。我正在从教科书中自学 JAVA,并且发现“这个”特定部分很棘手,所以在那里。我想我应该删除这个问题,因为有这么多反对票:/但这是唯一的学习方法;通过提问。 @user3243076 另一种方法是搜索现有答案。 【参考方案1】:

对象没有“名称”,您不能通过仅提及类来引用类的实例。试着写下这段代码:

Object o = new Object();
System.out.println(o.toString());
System.out.println(Object.toString());

看看你从编译器中得到了什么错误。

【讨论】:

【参考方案2】:

this 指的是当前的实例,而不是类。主要用于构造函数和设置器,其中参数隐藏数据成员。

例如:

public class MyClass 
    int someInt;

    public MyClass (int someInt) 
        // Save the someInt argument to the someInt member
        this.someInt = someInt;
    

【讨论】:

【参考方案3】:

this关键字用于引用当前对象

当你的变量是静态类型时,使用 Object.name 类型指令

【讨论】:

以上是关于JAVA:当我可以使用我想使用的对象的全名时,变量“this”的目的是啥? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

JavaSE-类

如何使用变量引用对象字段? [复制]

javascript中的java JSON对象

计算Java中任何对象的总内存使用量[重复]

允许使用execvp执行程序

在设计时使用全名查找类的类型