知识大全 浅谈 Java 中 this 的使用

Posted 函数

篇首语:千淘万漉虽辛苦,吹尽狂沙始到金。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 浅谈 Java 中 this 的使用相关的知识,希望对你有一定的参考价值。

浅谈 Java 中 this 的使用  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

    this是指当前对象自己  当在一个类中要明确指出使用对象自己的的变量或函数时就应该加上this引用 如下面这个例子中:    public class A     String s = Hello ;    public A(String s)   System out println( s = + s);  System out println( > this s = + this s);  this s = s;  System out println( > this s = + this s);      public static void main(String[] args)   new A( HelloWorld! );        运行结果     s = HelloWorld!   > this s = Hello   > this s = HelloWorld!    在这个例子中 构造函数A中 参数s与类A的变量s同名 这时如果直接对s进行操作则是对参数s进行操作 若要对类A的变量s进行操作就应该用this进行引用 运行结果的第一行就是直接对参数s进行打印结果 后面两行分别是对对象A的变量s进行操作前后的打印结果       把this作为参数传递  当你要把自己作为参数传递给别的对象时 也可以用this 如     public class A   public A()   new B(this) print();      public void print()   System out println( Hello from A! );        public class B   A a;  public B(A a)   this a = a;      public void print()   a print();  System out println( Hello from B! );        运行结果   Hello from A!  Hello from B!    在这个例子中 对象A的构造函数中 用new B(this)把对象A自己作为参数传递给了对象B的构造函数       注意匿名类和内部类中的中的this  有时候 我们会用到一些内部类和匿名类 当在匿名类中用this时 这个this则指的是匿名类或内部类本身 这时如果我们要使用外部类的方法和变量的话 则应该加上外部类的类名 如下面这个例子     public class A   int i = ;    public A()   Thread thread = new Thread()   public void run()   for(;;)   A this run();  try   sleep( );   catch(InterruptedException ie)         ;  thread start();      public void run()   System out println( i = + i);  i++;      public static void main(String[] args) throws Exception   new A();          在上面这个例子中 thread 是一个匿名类对象 在它的定义中 它的 run 函数里用到了外部类的 run 函数 这时由于函数同名 直接调用就不行了 这时有两种办法 一种就是把外部的 run 函数换一个名字 但这种办法对于一个开发到中途的应用来说是不可取的 那么就可以用这个例子中的办法用外部类的类名加上 this 引用来说明要调用的是外部类的方法 run cha138/Article/program/Java/JSP/201311/19538

相关参考

知识大全 Java中Static、this、super、final用法

Java中Static、this、super、final用法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看

知识大全 Java中的this关键字

Java中的this关键字  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!    如果有两个同类型的

知识大全 浅谈Java网站开发过程中的优势

浅谈Java网站开发过程中的优势  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Java是一种被

知识大全 java封闭之内部类

  java重要的三大特性之封装到今天已经总结完了当然还有一些比较重要的概念没有总结比如staticfinally关键字this关键字构造函数的特性因为考虑到这些概念在继承多态中还会有体现所以等到另外

知识大全 浅谈Java的输入输出流

浅谈Java的输入输出流  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  &n

知识大全 浅谈Java串行端口技术协议

浅谈Java串行端口技术协议  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  串行通讯慨述  串行

知识大全 浅谈Java多线程的同步问题

浅谈Java多线程的同步问题  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  多线程的同步依靠的是

知识大全 浅谈JAVA中类的构造器

浅谈JAVA中类的构造器  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  现在越来越多的人开始学习

知识大全 浅谈Java中用动态代理类实现记忆功能

浅谈Java中用动态代理类实现记忆功能  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  记忆是衍生

知识大全 浅谈Acegi配置-Spring-Java[1]

浅谈Acegi配置-Spring-Java[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!