JAVA中this用法总结
来源:互联网 发布:linux mmap 编辑:程序博客网 时间:2024/05/19 03:43
1.在类里面来引用这个类的属性和方法
public class ThisDemo { String name="Mick"; public void print(String name){ System.out.println("类中的属性 name="+this.name); System.out.println("局部传参的属性="+name); } public static void main(String[] args) { ThisDemo tt=new ThisDemo(); tt.print("Orson"); }}2.对类自身的引用
public class ThisDemo { int number; ThisDemo increment(){ number++; return this; } private void print(){ System.out.println("number="+number); } public static void main(String[] args) { ThisDemo tt=new ThisDemo(); tt.increment().increment().increment().print(); }}3.在构造器中的应用
public class ThisDemo { String name; int age; public ThisDemo (){ this.age=21; } public ThisDemo(String name,int age){ this(); this.name="Mick"; } private void print(){ System.out.println("最终名字="+this.name); System.out.println("最终的年龄="+this.age); } public static void main(String[] args) { ThisDemo tt=new ThisDemo("",0); //随便传进去的参数 tt.print(); }}4.总结
/** * @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: okString constructor: ok again!Int constructor: 21String constructor: ok again!其实this主要要三种用法:
1、表示对当前对象的引用!
2、表示用类的成员变量,而非函数参数,注意在函数参数和成员变量同名是进行区分!其实这是第一种用法的特例,比较常用,所以那出来强调一下。
3、用于在构造方法中引用满足指定参数类型的构造器(其实也就是构造方法)。但是这里必须非常注意:只能引用一个构造方法且必须位于开始!
注意:this不能用在static方法中!所以甚至有人给static方法的定义就是:没有this的方法!虽然夸张,但是却充分说明this不能在static方法中使用!
0 0
- JAVA中this用法总结
- JAVA中this用法总结
- java中super和this用法总结
- [Java] this 用法总结
- java中 this用法
- JAVA中this用法
- java中this用法
- JAVA中this用法
- java 中this用法
- java中this用法
- java中this用法
- java中this用法
- java中this用法
- Java中this和super的用法总结
- Java中this和super的用法总结
- Java中this和super的用法总结
- Java中this和super的用法总结
- Java中this和super的用法总结
- struct和typedef struct
- The connection to adb is down, and a severe error has occured解决方法
- 别让PPT把你绑架了
- 巴西世界杯,程序员专业版
- 排序算法
- JAVA中this用法总结
- 发的恢复更快更好看很过分
- 图解 Android 广播机制
- org.hibernate.hql.ast.HqlToken cannot be cast to org.hibernate.hql.ast.HqlToken
- android背景选择器selector用法汇总
- Android OnGestureListener 判断手势上下滑动
- KMP算法
- 常见软件版本说明
- 天神的告诫:色情、邪淫、艳遇感召鬼魅魔众的真相(转载)