`
huliangyu
  • 浏览: 6685 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

this的三种用法!

    博客分类:
  • java
 
阅读更多
1、表示对当前对象的引用!

2、函数参数和成员变量进行区分


this.xxx是指成员变量,xxx是指参数。



3、用于在构造方法中引用满足指定参数类型的构造器(其实也就是构造方法)。但是这里必须非常注意:只能引用一个构造方法且必须位于开始!

还有就是注意:this不能用在static方法中!所以甚至有人给static方法的定义就是:没有this的方法!虽然夸张,但是却充分说明this不能在static方法中使用!







我知道很多朋友都和我一样:在JAVA程序中似乎经常见到“this”,自己也偶尔用到它,但是到底“this”该怎么用,却心中无数!很多人一提起它,就说“当前对象”,可到底什么是当前对象,是什么当前对象,他自己也不清楚。现在让大家看一个小例子,给你分享一下JAVA中“this”的用法!

/**
 * @author fengzhi-neusoft
 *  * 本示例为了说明this的三种用法!
 */
package test;
public class ThisTest {
	private int i=0;
	
    //第一个构造器:有一个int型形参
    ThisTest(int i){
       this.i=i+1;//此时this表示引用成员变量i,而非函数参数i
       System.out.println("Int constructor i——this.i:  "+i+"——"+this.i);
       System.out.println("i-1:"+(i-1)+"this.i+1:"+(this.i+1));
       //从两个输出结果充分证明了i和this.i是不一样的!
	}
	
    //  第二个构造器:有一个String型形参
    ThisTest(String s){
       System.out.println("String constructor:  "+s);
    }
    //  第三个构造器:有一个int型形参和一个String型形参
    ThisTest(int i,String s){
       this(s);//this调用第二个构造器
       //this(i); 
       /*此处不能用,因为其他任何方法都不能调用构造器,只有构造方法能调用他。
       但是必须注意:就算是构造方法调用构造器,也必须为于其第一行,构造方法也只能调

       用一个且仅一次构造器!*/

       this.i=i++;//this以引用该类的成员变量

       System.out.println("Int constructor:  "+i+"\n"+"String constructor:  "+s);

    }

    public ThisTest increment(){

       this.i++;

       return this;//返回的是当前的对象,该对象属于(ThisTest)

    }

    public static void main(String[] args){

       ThisTest tt0=new ThisTest(10);

       ThisTest tt1=new ThisTest("ok");

       ThisTest tt2=new ThisTest(20,"ok again!");

       

       System.out.println(tt0.increment().increment().increment().i);

       //tt0.increment()返回一个在tt0基础上i++的ThisTest对象,

       //接着又返回在上面返回的对象基础上i++的ThisTest对象!

    }

}



运行结果:



Int constructor i——this.i:  10——11

String constructor:  ok

String constructor:  ok again!

Int constructor:  21

String constructor:  ok again!

14




分享到:
评论

相关推荐

    day09 11 this关键字的三种用法

    day09_11_this关键字的三种用法

    this的用法以及改变this指向

    ### this的用法以及改变this指向 #### 为什么学习this? 在JavaScript中,`this`关键字的使用极为广泛。理解并掌握`this`的工作机制对于提高编程能力至关重要: 1. **阅读代码的能力**:不了解`this`的工作原理,...

    C++中this指针的用法

    以下是对`this`指针用法的详细解析,包括其基本功能、特殊用途以及在不同上下文中的行为。 #### 1. `this`指针的基本作用 `this`指针在每个非静态成员函数中隐式存在,指向调用该函数的对象实例。例如,在一个`...

    C#关键字this用法

    在本文中,我们将深入探讨`this`关键字的用法,通过示例程序来帮助理解其功能和应用场景。 首先,`this`关键字是一个隐式指针,它指向当前对象实例。当你在类的方法或属性中引用一个成员时,如果该成员与方法参数或...

    this关键字的用法.pdf

    - **调用成员变量**:在类的方法中,如果需要访问一个非静态成员变量,可以使用`this`关键字前缀,例如`this.MyVariable`。这有助于避免与局部变量名称的冲突。 - **调用成员方法**:同样,我们也可以通过`this`...

    JAVA this用法

    JAVA this用法详解 在 Java 编程语言中,this 关键字是一个非常重要的概念,它有多种用法,但基本上可以归纳为三种:表示当前对象的引用、表示类的成员变量和在构造方法中引用满足指定参数类型的构造器。下面将详细...

    java中this与super用法

    this 的用法在 Java 中大体可以分为三种: 1. 普通的直接引用 在类的成员方法中,可以使用 this 来直接引用当前对象的成员变量或方法。例如: ```java class Test { private int x, y; public Test(int x, int ...

    深入理解JavaScript系列(13) This? Yes,this!

    此外,还有几种情况会影响函数上下文中的this值。比如通过apply和call方法可以指定函数内部this的值;通过new关键字构造函数会创建一个新对象,并将新对象作为函数的this值;在箭头函数中,this值是在定义时确定的,...

    Java this用法

    Java this用法 概述:Java 中的 this 关键字是一种特殊的引用变量,它总是指向当前对象本身。this 关键字可以用来访问当前对象的成员变量、方法和构造方法。在 Java 中,this 关键字有多种用法,本文将详细介绍 ...

    JavaScript中this关键字使用方法详解

    在本文中,我们将深入探讨`this`在JavaScript中的工作原理,以及在不同场景下的用法。 1. **函数调用方式** 在函数调用中,`this`的值取决于函数被调用的方式。如果函数是作为对象的方法调用,`this`将指向调用该...

    Java中的this和super的用法 

    三、使用 this 和 super 的好处 使用 this 和 super 关键字可以帮助我们在编程中避免一些常见的错误,例如,在某个方法中,如果形参名与当前对象的成员变量名相同,使用 this 关键字可以明确地指明当前对象的成员...

    C#this指针用法

    在上面的例子中,`SetValue`方法接收一个名为`value`的参数,为了区分这个局部变量和类的成员变量,我们使用了`this.value`来明确地表示类的成员变量。 ### 构造函数中的`this`用法 在C#中,一个类可以有多个构造...

    Java中this与super的用法

    例如,在某个方法中,如果有一个形参名与当前对象的某个成员变量同名,我们需要使用 this 关键字来明确地指定我们要访问的成员变量。例如: ```java public class DemoThis { private String name; private int ...

    Java4Android 16_this的使用方法

    下面将详细阐述`this`的使用方法及其在Java中的各种应用场景。 首先,`this`关键字可以用来访问当前对象的成员变量。当成员变量和局部变量名称相同时,`this`可以帮助我们区分两者,确保正确地引用成员变量。例如:...

    this的主要用法

    本文将详细解释`this`关键字的几种主要用法及其应用场景。 #### 一、表示对当前对象的引用 `this`关键字最基础的用途就是表示对当前对象自身的引用。当我们在一个类的方法内部使用`this`时,它就代表了当前正在...

    java this关键字的使用

    `this`可以作为方法的参数传递,将当前对象传递给其他方法或类,通常在事件处理或回调中使用。例如: ```java public class Button { public void onClick(ClickHandler handler) { handler.handle(this); // ...

    C# this关键字的四种用法

    本文实例为大家分享了C# this关键字的四种用法,供大家参考,具体内容如下 用法一 this代表当前实例,用this.显式调用一个类的方法和成员 namespace Demo { public class Test { private string scope = 全局...

    javascript中onclick(this)用法介绍

    本文将详细介绍JavaScript中一种常见的事件处理用法——onclick(this)。 首先,我们需要理解什么是onclick事件处理器。在HTML中,onclick是一个事件属性,用于指定当元素被点击时将调用的JavaScript代码。这个属性...

    js原生态函数中使用jQuery中的 $(this)无效的解决方法.docx

    js原生态函数中使用jQuery中的$(this)无效的解决方法 在JavaScript开发中,使用jQuery的$(this)在原生态函数中可能会出现无效的问题,本文将对此进行详细的分析和解决方法的介绍。 一、问题描述 在JavaScript开发...

Global site tag (gtag.js) - Google Analytics