我目前正在学习Java,我已经尽我所能去尝试理解这两个东西的含义和作用,但我就是不明白。我在谷歌上搜索了很多,也检查了网站上过去的问题,但我仍然不明白。到目前为止,我知道"this"在某种程度上指的是某种方法/变量/对象,但我只是不明白它是如何指的这些,没有(在我看到的例子中)实际指定指的是什么,他们只是使用关键字"this"。某事或这个(532);",这没有意义。toString也是一样,我得到的这两个没有逻辑。无论如何,谁能以简单的方式向我解释这两个关键字,并告诉我它们如何在任何程序中都很有用。
this.something
指当前类中的对象 something
。
this.method()
为当前类
this()
指当前类的构造函数
toString()
是一个用于创建对象的String
表示的方法。因为Java中的每个类都是Object
的子类,而Object
有toString()
方法,所以每个类都有一个默认的toString()
方法。为了获得有意义的结果,通常需要重写默认的toString()
。
关键字this
指的是类的实例。
-
this(512)
引用了以int作为实参的类的构造函数 -
this.field
表示 类的字段。 -
this.method()
表示 类的方法
toString()
方法继承自Object,但可以在子类中重写以获得更有意义的输出。
例如,如果你的类是这样的:公共类数据库{公共数据库(int端口){}}
然后引用这个类的对象,你可以这样使用:this(3306);因此,这个关键字用于引用类
this
关键字指的是类的当前实例(参见http://docs.oracle.com/javase/tutorial/java/javaOO/thiskey.html)。
toString()
关键字不是关键字:它是一个方法名。它在Object
类中定义,并且可以被重写。它所做的是创建类的文本表示(参见http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#toString()。