this指针的作用java,java里的this干什么用的

1,java里的this干什么用的this 指向主类成员变量并赋值this.bir此bir指的就是主类的成员变量bir 将构造方法里的参数 bir赋值给主类的成员变量就是这意思this主要用于 区分参数和成员变量this表示的是当前类的属性和方法,一般多用在 传递参数名和当前类相同时 用来区分!正如你上面的例子!
2,java中this的作用是什么呀怎么用this表示当前对象的引用比如你有一个类public class A private string str=null; public A(String str) this.str=str; }}构造方法里A有参数str,我想把这个参数str传给成员域str,但是这两个都是str,我总不可能写成str=str吧?因此我们就要引入this , this.str,这里的this就代表是这个类的引用 。
3,java 中this的使用方法怎么用尽可能详细 谢谢this代表本类,比如你写了一个类Dog,在本类中this就代表Dog 。this在某些情况下可以让变量变得明显,当外来变量和本类变量名称相同时,我们要利用this来区分 。public class Dogpublic String name;public Dog(String name)this.name = name;}}很多人写程序的时候在类中定义了全局变量 , 然后用到的地方就加this.这样很清晰 。当然,如果本类中调用其他类的方法,该方法可以把这个类传过去,比如:Man man = new Man();man.parseDog(this);只要本类有得方法和属性,我们就可以this.一般情况下我们都省略,默认是本类的 。【this指针的作用java,java里的this干什么用的】
4,java 中this什么作用 小白提问每当一个对象创建后,Java虚拟机会给这个对象分配一个引用自身的指针,这个指针的名字就是 this 。因此,this只能在类中的非静态方法中使用,静态方法和静态的代码块中绝对不能出现this的用法 。第一种是用于区分局变量,和对象属性的,如下例所示 。可以看到,两个name都是一样的命名,怎么来区分呢 , 就是用这种方法来进行区分的 。下面是代码 。package baidujinyan;import org.junit.Test;public class Junittry@Testpublic void testmyname()JunitBaidu mybaiduBaidu=new JunitBaidu();mybaiduBaidu.printmyname();}@Testpublic void textextend()Baidu myabiduBaidu=new Baidu();myabiduBaidu.mytry();}}这里开始是第二段 。package baidujinyan;public class Baidu extends Baidujingyanpublic boolean me=true;public String nameString;@Overridepublic void mytry()// TODO Auto-generated method stubString nameString="your";this.nameString=nameString;System.out.println(this.nameString);}}this指代的是当前类本身,可以在成员变量和参数同名的时候用来区分参数和成员变量 。this指new出来的对象本身 , 只要类变量不是static的,那么这个变量在每个对象中值都可能是不一样的,这个属到对象本身的变量,如果是static的,则所有对象共用这个变量的值 。你肯定听过讲师说过this指的是对象本身 。我们可以这样理解,类Student中我们怎么才能用这个类的对象呢?也就是Studentstu=newStudent();这句话也在Student中写出来是不是怪怪的,java把这个问题给解决了 , 也就是在Student类中 Studentstu=newStudent();可以不写,想用类的对象就用this 来代替stu , 楼主这句话是set方法,this.age指的是本类中的变量age,而后面的age是setAge(String age)括号中传过来的参数 。存手打~~~~~~~~~~~~~~~this.other 就是指当前类中的 private String other,this指的是当前java类可以看作类实例本身5,java 的this有哪些用途Java关键字this只能用于方法方法体内 。当一个对象创建后 , Java虚拟机(JVM)就会给这个对象分配一个引用自身的指针 , 这个指针的名字就是 this 。因此,this只能在类中的非静态方法中使用,静态方法和静态的代码块中绝对不能出现this,这在“Java关键字static、final 使用总结”一文中给出了明确解释 。并且this只和特定的对象关联 , 而不和类关联,同一个类的不同对象有不同的this 。/** *@authorfengzhi-neusoft * *本示例为了说明this的三种用法! */package test;publicclass ThisTestprivateinti=0;//第一个构造器:有一个int型形参ThisTest(int i)this.i=i+1;//此时this表示引用成员变量i,而非函数参数iSystem.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++;returnthis;//返回的是当前的对象,该对象属于(ThisTest)}publicstaticvoid 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——11String constructor:okString constructor:ok again!Int constructor:21String constructor:ok again!14细节问题注释已经写的比较清楚了,这里不在赘述,只是总结一下,其实this主要要三种用法:1、表示对当前对象的引用!2、表示用类的成员变量 , 而非函数参数,注意在函数参数和成员变量同名是进行区分!其实这是第一种用法的特例 , 比较常用,所以那出来强调一下 。3、用于在构造方法中引用满足指定参数类型的构造器(其实也就是构造方法) 。但是这里必须非常注意:只能引用一个构造方法且必须位于开始!还有就是注意:this不能用在static方法中!所以甚至有人给static方法的定义就是:没有this的方法!虽然夸张,但是却充分说明this不能在static方法中使用!指代啊 , 在一个类里面,this就是指自己这个类,this.方法,就是该类的方法 , super就是父类,你可以把this看成new这个类new出来的东西 , 简单地用this来代替,我觉得java最适合写一些中小的c/s系统,因为java对网络以及线程的基本编程做的很好 很容易就可以搭一个服务模型出来,另外更主要的是java天生就可以支持同步,提供许多现成的 诸如串,向量表 , 哈希表之类的结构,这对服务器程序相当重要,现在我正在做一个internet的应用(中等规模) , 也是c/s结构,几种服务器组成,到未来可能会运行在不同的机器上(win以及unix之类的),所以用java是最好的选择 如果你想用java来写客户端应用那大可不必做这种讨论 虽然说java的速度很慢,但目前我用jdk1.3好像感觉不到 , 不知以后会不会这样 最简单的一个:中间件产品 。这也是近两年来软件行业中发展速度最快的一种 。java可以很轻易的支持跨平台 。这时它相对于使用其它语言开发中间件的最大的优势,而这个优势是其他语言不可能支持的 。比较著名的中间件产品如:ibm的websphere , 免费软件:jwdk等等 。够不够? 参考资料: <a href="http://wenwen.soso.com/z/urlalertpage.e?sp=shttp%3a%2f%2fwww.iyuanma.com%2fbook%2fcsdn%2fasppost9%2fweb209796.htm" target="_blank">http://www.iyuanma.com/book/csdn/asppost9/web209796.htm</a>

    推荐阅读