java关键字this的作用,java类和对象之this关键字

  java关键字this的作用,java类和对象之this关键字

  如何解决写爬虫IP受阻的问题?立即使用。

  该关键字有三个主要应用:

  这会调用该类中的属性,即该类中的成员变量;

  这会调用该类中的其他方法;

  这会调用该类中的其他构造函数,这些构造函数应该放在构造函数的第一行。

  调用成员变量

  (推荐课程:java课程)

  结合代码,会更具体。请参考以下代码:

  公共课学生{

  字符串名称;

  私有空集合名(字符串名){

  this.name=name

  }

  }在这段代码中,创建了一个类Student,它有一个成员变量名和一个成员方法SetName(字符串名)。由于成员方法接收到的参数名称与成员变量的名称相同,所以它们都是名称,所以这里可以使用这个关键字来调用这个类中的成员变量。它的作用可以简单理解为:这个关键字是调用这个类中的一个成员变量。

  但是,这种简单的理解并不准确。这实际上是对当前类对象的引用,通过当前类实例化的对象的引用来访问对象的成员变量。

  注意:

  该关键字在访问类的成员变量和成员函数时不受访问权限控制,可以访问该类中的所有成员变量和方法,包括私有成员变量和方法。你也可以通过这个访问这个类的静态成员,但是由于静态成员可以通过类名直接访问,所以如果你通过这个访问的话会有一个警告信息“静态字段应该以静态方式访问”。不能在类的静态成员或静态块中使用它。

  调用成员方法

  请参考以下代码:

  包装测试;

  公共类ThisTest {

  字符串名称;

  私有空集合名(字符串名){

  this.name=name

  system . out . println( setName: this . name );

  }

  私有void thisTest(字符串名称){

  this.setName(名称);

  system . out . println( thist: this . name );

  }

  公共静态void main(String[] args) {

  这个测试tt=新的这个测试();

  TT . set name( Yida );

  TT . thistest( Jenny );

  }

  }在这段代码中,首先创建测试类,除了增加了一个成员方法thisTest()之外,和前面的没有什么不同。在这个成员方法中,前面的成员函数setName()被这个关键字调用,程序运行结果如下:

  集合名称:益达

  集合名称:珍妮

  这个测试:Jenny调用构造函数

  new关键字创建类的对象时会自动调用一个方法,不能像程序中的其他方法一样通过方法名(即类名)调用。但是,如果一个类有多个构造函数,其他的构造函数可以在一个构造函数中被调用。

  使用它来调用其他构造函数有以下约束:

  其他构造函数只能在构造函数中被this调用,不能在普通方法中使用。

  不能通过此递归调用构造函数,也就是说,不能在构造函数中通过此直接或间接调用构造函数本身。

  通过此调用其他构造函数必须在构造函数的第一行执行。

  因为super调用父类的构造函数也必须在构造函数的第一行执行,所以this和super调用的构造函数不能同时出现在一个构造函数中。不能在一个构造函数中多次调用不同的构造函数。

  下面的代码是错误的,因为通过这个关键字,形成了一个递归调用:

  //错误示例!

  类别测试{

  测试(){

  这个;

  }

  测试(内部){

  this();

  }

  tes int b) {

  这(1,2);

  }

  }正确用法如下:

  public student {//定义一个类,类的名字是Student。

  Public Student() {//定义了与类同名的方法,所以是构造方法。

  这个(“你好!”);

  }

  Public Student(String name) {//定义一个带有形参的构造方法

  }

  }返回对象的值。

  这个关键字不仅可以引用变量或者成员方法,还有一个重要的作用就是返回类的引用。如同在代码中一样,可以使用return this返回对类的引用。此时,该关键字表示类的名称。如果代码在上面的student类中,那么代码所代表的含义就是return student。可以看出,这个关键字不仅可以引用变量或者成员方法,还可以作为类的返回值,这也是这个关键字最有趣的地方。

  推荐:java入门。以上是这个关键字在java中如何使用的细节。请多关注我们的其他相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: