java中的this

来源:互联网 发布:星海乐器知乎 编辑:程序博客网 时间:2024/06/14 18:47

1:

 引用构造方法

public class  Edge{

     public Edge(Graph g,Vertex u,Vertex v,Object info){

           this(g,u,v,info,1);     ---------------------①

            this(g,u);   --------------------------③

   }

    public Edge(Graph g,Vertex u,Vertex v,Object info,int weight){--------------②

          //your code

    }

   public   Edge(Grahp g,Vertex u){  ------------------④

    }

}

用类名定义一个变量的时候,定义的只是一个引用,外面可以通过这个引用来访问这个类里面的属性和方法。那们类里面是够也应该有一个引用来访问自己的属性和方法纳?就是 this 对象,它可以在类里面来引用这个类【自己】的属性和方法:

 此外,③虽然我们可以通过this在一个构造函数中调用另一个构造函数,但是我们顶多只能用这种方法调用一次,而且对另一个构造函数的调用动作必须置于最起始处。【参考《java编程思想》第四章】

2:this和super的区别

属性的区别:this访问本类中的属性,如果本类没有此属性则从父类中继续查找。super访问父类中的属性。
方法的区别:this访问本类中的方法,如果本类没有此方法则从父类中继续查找。super访问父类中的方法。
构造的区别:this调用本类构造,必须放在构造方法的首行。super调用父类构造,必须放在子类构造方法首行。
其他区别:this表示当前对象。super不能表示当前对象
1、this. 变量和super.变量
this.变量 调用的当前对象的变量;
super.变量 直接调用的是父类中的变量。
2、this(参数)和super(参数)方法
this(参数) 调用(转发)的是当前类中的构造器;
super(参数) 用于确认要使用父类中的哪一个构造器。

优秀博客:1:http://java999.blog.51cto.com/259217/136116/ 2:http://www.cnblogs.com/wsw-bk/p/7774931.html

原创粉丝点击