9159金沙游艺场-奥门金沙游艺场-[欢迎您]

9159金沙游艺场为您呈现最新的面貌!,目前注册送体验金,欢迎您将成为影视娱乐行业新的风向标,是亚洲的优质娱乐先锋。

小桥注:java关键字this,小桥java关键字this

日期:2019-10-07编辑作者:办公软件

小乔注:java关键字this,小乔java关键字this

java中当一个对象创建后,java虚拟机就会给这个对象分配一个指向自己的指针,称为this。this随实例化对象而产生,因此this只用于非静态方法体内。主要有以下四点应用:

1.调用当前类的成员变量。如:this.name;//访问本类中的成员变量name

2.调用当前类的成员方法。如:this.fun(params...);//访问本类中参数为params...的成员方法fun

3.表示当前类对象的引用。如:return this;//返回当前类对象的值

4.在当前类的构造方法中调用本类的其他构造方法。如:this(params...);//调用本类中参数为params...的构造方法

下面一一附代码说明:

1.

 

public class Student { 
  String name;
  private void SetName(String name){
    this.name=name; 
 }
}

 

如上述代码,若局部变量与成员变量同名时,便显示出了this的作用。this关键字引用的便是成员变量,一目了然,便是将形参name赋给了成员变量name

2

public class Student { 
   private void out1(){
     System.out.print("123");
  }
   private void out2(){
      this.out1();
  }  
}

如上述代码,out2()方法中利用this关键字调用了成员方法out1();需要注意的是,this关键字访问类的成员变量和成员函数时不受访问权限的控制,可以访问本类中包括private修饰的所有成员变量和方法。也可以通过this访问本类的static成员,不过由于static成员可以通过类名直接访问,如果通过this来访问会有警告信息。

3.

public class Student { 
   private String name; 
   public Student setName(String name){
     this.name=name;
     return this;
    }
}  

如上述代码,调用setName方法后,将形参赋给成员变量后,return this表示返回了Student对象引用。注意,return this返回的是调用this所处方法的那个对象的引用。切勿混淆。

4.

public class Student {
    private String name;
    private char sex;
    public Student(){
        this('男');
        this.name = "周瑜";
    }
    public Student(char sex){
        this.sex=sex;
    }
}

如上述代码,其中this('男')就是在第一个构造方法中调用了第二个构造方法,即没有参数的那个调用了有参数的那个。需要注意到是,其只能放在该构造方法体内的第一行,且不支持递归调用,即不能间接或直接地调用本身。

大乔注:若该类有派生类,则类中出现的关键字this的作用需注意:

1.在调用成员方法时,如果该方法被子类重写,则调用的是子类的成员方法,未被重写,则调用父类的成员方法。

2.return this中的this始终代表的是子类对象的引用。

3.调用成员变量和构造方法时,均是父类本类的,并无变化。

 

java中当一个对象创建后,java虚拟机就会给这个对象分配一个指向自己的指针,称为this。this随实...

本文由9159金沙游艺场-奥门金沙游艺场-[欢迎您]发布于办公软件,转载请注明出处:小桥注:java关键字this,小桥java关键字this

关键词:

Mybatis多数据源和动态数据源配置方法

Spring Boot + Mybatis多数据源和动态数据源配置方法,mybatis动态数据 网上的文章基本上都是只有多数据源或只有动态数据...

详细>>

Java冒泡排序

Java冒泡排序,java冒泡 public class Sort { * public static void main(String[] args) { //首先定义一个数组 int[] arrs = { 7, 2, 1, 6, 5, 3...

详细>>

Java学习笔记42

Java学习笔记42(序列化流),学习笔记序列化 对象中的数据,以流的形式,写入到文件中保存 过程称为写出对象,对...

详细>>

Java针对ArrayList自定义排序的2种实现方法

Java针对ArrayList自定义排序的2种实现方法,javaarraylist 本文实例讲述了Java针对ArrayList自定义排序的2种实现方法。分享...

详细>>