zoukankan      html  css  js  c++  java
  • 关键字的使用(八)

      一、this的使用

          1.this是什么

            ♦在Java中,this关键字比较难理解,它的作用和其词义很接近。

              它在方法内部使用,即这个方法所属对象的引用。

              它在构造器内部使用,表示该构造器正在初始化的对象。

            ♦this可以调用类的属性、方法、构造器

            ♦什么时候使用this关键字?

              当在方法内需要用到调用该方法的对象时,就用this。

              具体的:我们可以用this来区分属性和局部变量。

              比如:this.name = name;

            ♦使用this.调用属性、方法

              例子:

                class Person{

                  private String name;

                  private int age;

                  public Person(String name,int age){

                    this.name = name;

                    this.age = age;

                  }

                  public void getInfo(){

                    syso("姓名“ + name);

                    this.speak();

                  }

                  public void speak(){

                    syso("年龄:"  + age);

                  }

                  

                }

            Φ重要:

              1.在任意方法或构造器内,如果使用当前类的成员变量或成员方法可以在其前面添加this,增强程序的可读性,不过,我们通常省略this

              2.当形参与成员变量同名时,如果在方法内或构造器内需要使用成员变量,必须添加this来表明该变量是类的成员变量

              3.使用this访问属性和方法时,如果在本类中未找到,会从父类中查找

            ♦使用this调用本类的构造器

             例子:

              

    class Person{
        private String name;
        private int age;
        public Person(){//无参构造器
              System.out.println("新对象实例化")
         
        }              
    
        public Person(String name){
             this();//调用本类的无参构造器
             this.name = name;
         
       }
    
        public Person(String name,int age){
              this(name);//调用本类的一个有参构造器
              this.age = age;
            
        }
    
    }            

        2.注意:

          1.可以在本类的构造器中使用"this(形参类表)"的方式,调用本类中重载的其他构造器

          2.明确:构造器中不能通过"this(形参列表)"的方式调用自身的构造器

          3.如果一个类中声明了n个构造器,则最多有n-1个构造器中使用了"this(形参列表)"

          4."this(形参列表)"必须声明在类的构造器的首行

          5.在类的一个构造器中,最多只能声明一个"this(形参列表)"

  • 相关阅读:
    【5min+】 秋名山的竞速。 ValueTask 和 Task
    int16、int32、int64的范围
    C#实现的一些常见时间格式
    C# WPF抽屉效果实现(C# WPF Material Design UI: Navigation Drawer & PopUp Menu)
    如何为.NETCore安装汉化包智能感知
    .NetCore学习笔记:三、基于AspectCore的AOP事务管理
    C#设计模式学习笔记:简单工厂模式(工厂方法模式前奏篇)
    .net core3.0 webapi搭建(一)
    [Abp vNext 源码分析]
    WPF 控件功能重写(ComboBox回车搜索)
  • 原文地址:https://www.cnblogs.com/lingtiaoti/p/12355489.html
Copyright © 2011-2022 走看看