java中this关键字含义,分析选项中关于java中this关键字

  java中this关键字含义,分析选项中关于java中this关键字

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

  相关:《Java视频教程》

  1.当一个成员变量和一个局部变量有相同的名字时,当这被用在一个方法中时,它意味着该方法所在的类中的成员变量。(这是当前对象本身)

  公共类Hello {

  String s= Hello

  公共Hello(字符串s) {

  system . out . println( s= s);

  system . out . println( 1-this . s= this . s);

  this.s=s//将参数值赋给成员变量,成员变量的值发生变化

  system . out . println( 2-this . s= this . s);

  }

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

  Hello x=新Hello(HelloWorld!);

  system . out . println( s= x . s);//验证成员变量值的变化}

  }结果是:

  s=HelloWorld!

  1 - this.s=你好

  2 - this.s=HelloWorld!

  s=HelloWorld!在这个例子中,在构造函数Hello中,参数S与类Hello的成员变量S同名,所以如果直接对S进行操作,就会对参数S进行操作.如果要对Hello类的成员变量s进行操作,应该用这个来引用。运行结果的第一行是直接打印构造函数中传递的参数S的结果;第二行是成员变量S的打印;第三行是在打印之前将传递的参数S值赋给成员变量S,所以结果是HelloWorld!第四行是直接打印类中成员变量值的主函数,也可以验证成员变量值的变化。

  2.当将自己作为参数传递时,也可以使用这个。(这是要传递的当前参数)

  A级

  公共A() {

  新B(这个)。print();//调用b的方法。

  }

  公共作废打印(){

  system . out . println( hello aa from A!);

  }

  }

  B类{

  A a

  公共B(A a) {

  this.a=a

  }

  公共作废打印(){

  a . print();//调用的方法。

  system . out . println( hello ab from B!);

  }

  }

  公共类HelloA {

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

  A aaa=新A();

  AAA . print();

  B bbb=新B(AAA);

  BBB . print();

  }

  }结果是:

  来自A的你好!

  来自B的HelloAB!

  来自A的你好!

  来自A的你好!

  来自B的HelloAB!在这个例子中,在对象A的构造函数中,new B(this)用于将对象A本身作为参数传递给对象B的构造函数。

  3.有时候,我们会使用一些内部类和匿名类,比如事件处理。当在匿名类中使用时,这指的是匿名类或内部类本身。这时如果要使用外部类的方法和变量,就要加上外部类的类名。比如:

  公共类HelloB {

  int I=1;

  公共HelloB() {

  Thread thread=新线程(){

  公共无效运行(){

  for(int j=0;j20j ) {

  hellob . this . run();//调用外部类的方法

  尝试{

  睡眠(1000);

  } catch(interrupted exception ie){

  }

  }

  }

  };//注意这里有一个分号

  thread . start();

  }

  公共无效运行(){

  system . out . println( I= I);

  我;

  }

  公共静态void main(String[] args)引发异常{

  new HelloB();

  }

  }在上面的例子中,thread是一个匿名类对象。在其定义中,它的run函数使用外部类的run函数。这时候因为函数同名,直接调用就不行了。这时候有两种方法,一种是改变外部运行函数的名称,但是这种方法对于一个开发中期的应用来说是不可取的。然后,您可以使用此示例中的方法将此引用添加到外部类的类名中,以说明将要调用外部类的方法运行。

  4.在构造函数中,可以通过这个调用同一个类中的其他构造函数。比如:

  公共类ThisTest {

  ThisTest(字符串str) {

  system . out . println(str);

  }

  ThisTest() {

  这个(‘这次测试成功了!’);

  }

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

  ThisTest ThisTest=new ThisTest();

  }

  }为了更准确地说明这种用法,另一个例子是:

  公共类ThisTest {

  私人年龄;

  私有字符串str

  ThisTest(字符串str) {

  this.str=str

  system . out . println(str);

  }

  this test(String String,int age) {

  这个(str);

  this.age=年龄;

  System.out.println(年龄);

  }

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

  Thistthistest=newthistest(本次测试成功,25);

  }

  }结果是:

  这个测试是成功的。

  25值得注意的是:

  1:在构造中调用另一个构造函数时,调用动作必须放在初始位置。

  2:不能在除构造函数之外的任何函数中调用构造函数。

  3:在一个构造函数中只能调用一个构造函数。

  5.这同时传递多个参数。

  公共类TestClass {

  int x;

  int y;

  static void show test(test class TC){//实例化对象

  system . out . println(TC . x TC . y);

  }

  void seeit() {

  showtest(这个);

  }

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

  test class p=new test class();

  p . x=9;

  p.y=10

  p . seeit();

  }

  }结果是:

  9代码中的showtest(this ),其中这是将当前实例化的P传递给showtest()方法,它运行。

  有关编程的更多信息,请访问:编程入门!以上就是这个关键字在java中的使用方法。更多详情请关注我们的其他相关文章!

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

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