this关键字

Posted zqy6666

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了this关键字相关的知识,希望对你有一定的参考价值。

解决 成员变量和局部变量同名问题

  可以在成员变量名前面加上this.来区别成员变量和局部变量

  

class Person {
	private int age;
	private String name;
	
	public void speak() {
		this.name = "小强";
		this.age = 18;
		System.out.println("name=" + this.name + ",age=" + this.age);
	}
}

class PersonDemo {
	public static void main(String[] args) {
		Person p = new Person();
		p.speak();
	}
}

  普通方法中,this总是指向调用该方法的对象。
  构造方法中,this总是指向正要初始化的对象。

this最常的用法

  1.    让类中的一个方法,访问该类的另一个方法或属性。
  2.    使用this关键字调用重载构造方法。避免相同的初始化代码,只能在构造方法中用,并且必须位于构造方法的第一句。

this使用时的注意事项:

    ·this不能用于static方法!(this指向当前对象,static方法跟对象没有一毛钱的关系)

package cn.bjsxt.oop.testThis;
 public class Student {
     String name;
     int id;   
  public  Student(String name,int id){
     this(name);   //通过this调用其他构造方法,必须位于第一句! Constructor call must be the first statement in a constructor
     this.name = name;
     this.id = id;
 }
 
 public Student(String name){
     this.name = name;
 }
 public Student(){
     System.out.println("构造一个对象");
 }
 
 public void setName(String name){
     this.name = name;
 }
 
 public void study(){
     this.name=  "张三";
     System.out.println(name+"在學習");
 }
  public void sayHello(String sname){
     System.out.println(name+"向"+sname+"說:你好!");
     }
}

  

以上是关于this关键字的主要内容,如果未能解决你的问题,请参考以下文章

vue2.0 代码功能片段

在 webview_flutter 中启用捏合和缩放,在哪里添加代码片段 [this.webView.getSettings().setBuiltInZoomControls(true);]

ngx-translate实现国际化:this.translate.use()this.translate.get()this.translate.instant()onLangChange(代码片段

Discuz代码片段

在片段java类中使用“this”和getLastSignedInAccount时出现错误[重复]

vs 2010代码片段