• Java-this关键词


    this关键词

    1,this调用本类属性

    在程序里面是有this可以实现以下三类的结构的描述:

    ·当前类中的属性:this.属性;

    ·当前类中的方法(普通方法、构造方法):this()this.方法名称();

    ·描述当前对象;【最为麻烦的一部分】

    如果说现在构造方法中的参数名称修改为nameage,则发现无法进行属性的正确设置:

     

    1 public Person(String name,int age){
    2     name=name;
    3     age=age;
    4 }

     

     

    在以后程序开发过程中,只要是访问本类中的属性的时候,请一定要加上【this】实现访问。Java程序之中【{}】是作为一个结构体的边界符,那么程序里面当进行变量(参数、属性都称为变量)使用的时候都会以【{}】作为一个查找边界,所以按照就近取用的原则,此时的构造方法并没能够访问类中的属性,所以此时为了明确标记出类中的属性与参数的区别,往往会在属性前追加一个【this】表示本类属性;

     

    2,this调用本类方法

    ·构造方法调用【this()】:使用关键字new 实例化对象的时候才会调用构造方法;

    ·普通方法调用【this.方法名称()】:实例化对象产生之后就可以调用我们的普通方法。

    ·范例:this调用构造方法

     

     1 public Person() {
     2 }
     3 public Person(String name){
     4     this();
     5     this.name=name;
     6 }
     7 public Person(String name,int age){
     8     this(name);
     9     this.age=age;
    10 }

     

     

    ·范例:this调用普通方法 

     1 public Person() {
     2     System.out.println("无参构造");
     3 }
     4 public Person(String name){
     5     this();
     6     System.out.println("单参构造");
     7     this.setName(name);
     8 }
     9 public Person(String name,int age){
    10     this(name);
    11     System.out.println("两参构造");
    12     this.setAge(age);
    13 }

     ·构造方法互相调用时请保留有程序的出口,别形成死循环。会出现错误,方法的递归调用注意:·this()需要在构造方法的首行;

     

    3,综合实战:简单Java

    就是一个类,有属性及其settergetter方法,实例化构造方法,普通方法。

     

     

     

  • 相关阅读:
    [读书笔记]捉虫日记
    花生壳建站全过程
    (step4.3.9)hdu 1584(蜘蛛牌——DFS)
    鼠标移到导航上面 当前的LI变色 处于当前的位置
    JavaScript学习笔记
    由Maximum Gap,对话桶排序,基数排序和统计排序
    安德鲁斯Launcher得到的装在手机的应用程序列表
    broadAnywhere:Broadcast组件权限绕过漏洞(Bug: 17356824)
    Ubuntu logomaker sh: 1: pngtopnm: not found 解决方案
    HDU 1598 find the most comfortable road (罗列+Kruskal) 并检查集合
  • 原文地址:https://www.cnblogs.com/Mufasa/p/11105037.html
Copyright © 2020-2023  润新知