`
jaybril
  • 浏览: 48647 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

java中的this和super(1)

阅读更多

对象的引用----This:

 

  概念:  this关键字是一个对象的默认引用,它总是指向调用该方法的对象。

  使用原因:我们在访问一个对象的成员时,一般都要通过该对象去调用。如果需要在某一个方法中访问其所属类的当前正在操作对象的成员,由于一个类的对象可以有多个,且通过这些对象都可以调用该方法,因此定义该方法时无法明确通过对象引用来指定。因此java引入this。它只能在方法体中使用,通过它可以获取当前是通过什么对象来调用该方法的。它代表的正式这个当前对象的引用。只不过大多数情况下this都可以省略,因为某一方法内直接访问属于同一类的成员时,系统会自动利用this确保方法内的成员属于当前正在被操作的对象。如:

     person(int a,String b){

 

       this.age=a;

       this.name=b;

         }

这时候this是可以省略的,但下面的情况是不能省略的;因为局部变量与数据成员变量重名,需要用this来区分开来:

    person(int age ,String name){

 

      this.age=age;

      this.name=name;

 

   }.

使用场合:

 

 

1)返回当前对象或者把当前对象作为参数传递给其他方法时:

 

 

public class thisPerson {

 private int age;

 private String name; 

 thisPerson person(){

 age++;

 name="this is  me";

return this ; 

 }

public static void main(String args[]){

String  s=new thisPerson().person().name;

System.out.print( s );

}

}

2)利用this在一个构造方法中调用所属类的另一个构造方法时:

 

注:在一个构造方法中,只能使用一次this来调用构造方法,并且this语句要放在构造方法的起始位置。

 

public class thisPerson {

 private int age=1;

 private String name; 

 thisPerson(){

 age=31;

 name="姚明";

System.out.println("名字是:"+name)  ; 

System.out.println("年龄是:"+age)  ; 

 }

 thisPerson( String sex ){

this();  

System.out.print("性别是:"+sex);  

 }

public static void main(String args[]){

thisPerson tp=new thisPerson( "男" );

}

}

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics