java基础之this关键字

                             This 关键字

目录

一、 类属性的调用 1

二、 调用方法 2

三、 表示当前对象 3

 

 

This关键字是java里面比较复杂的一个关键字。因为this的核心概念是表示当前对象。但是在实际开发中当前对象难以确定。在java里面,利用this关键字能够实现类的调用、类方法的调用、以及表示当前对象。

  • 类属性的调用

    java基础之this关键字

 

构造方法中的参数是为了类中属性的初始化,为了代码规范性,构造方法中的参数应和类中的属性保持一致。使用this关键字调用类中方法。

 

  • 调用方法

2.1 本类中调用普通方法

 

 在本类中调用普通方法时,this关键字可用可不用,但是为了代码的规范性,在本类中调用普通方法时,必须使用this关键字。

 

2.2  构造方法之间的this调用

在一个类中,除了普通方法还有构造方法,构造方法之间进行相互调用,采用“this(参数,参数)”。

程序:

Class Book{

  Private  string  title;

  Private  string  price;

  Public Book(){

}                                  

Public Book(String title){

   this();

   this.title = title;

Public Book(String title,String price){

   this(title);

   this.price = price;

Public string getInfo(){

   return “书名”+this.title+”、价格”+this.price;

Public class testdemo{

  Public static void main(String args[]){

   Book book = new Book(“java”,89);

System.out.println(book.getInfo());

在本程序中,Book类首先实化了含有两个参数的构造方法。在含有两个参数的构造

方法中通过this(title)调用含有一个参数的构造方法。最终调用无参构造方法。降低了程序的冗余。

 

注意:

  1. 使用this()调用构造方法,其必须放在构造方法的首行。
  2. 在进行构造方法的调用时,一定要保留调用的出口。即不能循环调用。

 

  • 表示当前对象
  1. 在实例化的过程中,谁调用了构造方法,this就表示调用该构造方法的对象。
  2. 思考题:

Class A{

  Private B  b;

  Public A(){

//第二步:this = temp ,调用类B中的构造方法,

This.b = new B(this);

//第四步:调用B中的get方法。

This.b.get();

}

Public void print(){

System.out.println(“hello”);

}

Class B{

  Private A a;

// 第三步: this.a = temp

  Public  B(A a ){

  this.a = a ;

}

Public void get(){

//第六步:调用A类中的方法.

  this.a.print()

}

}

Public class testdemo{

  Public static void main(String args[]){

           //第一步:实例化temp,调用类A中的无参构造方法

  A  temp = new A();

}