首页 > 其他 > 详细

this关键字的使用

时间:2021-05-24 23:11:09      阅读:43      评论:0      收藏:0      [点我收藏+]


1、this可以用来修饰、调用:属性和方法、构造器

2、this修饰属性和方法
     this可以理解为:当前对象 或 当前正在创建的对象

  1.  在类的方法当中,可以使用this.属性或this.方法的方式,调用当前对象的属性或方法,但是通常省略this。特殊情况下,如果方法的形参和类的属性同名时,必须显式使用this,表明此变量是属性而非形参。
  2.  在类的构造器当中,可以使用this.属性或this.方法的方式,调用当前正在创建的对象的属性或方法,但是通常省略this。特殊情况下,如果构造器的形参和类的属性同名时,必须显式使用this,表明此变量是属性而非形参。

3、this调用构造器

  1.  在类的构造器中,可以显式的使用“this(形参列表)”方式,调用本类中指定的其他构造器。
  2.  构造器中不能通过this调用自己。
  3.  如果一个类中有n个构造器,则最多有n-1构造器中使用了this调用。
  4.  规定:this调用构造器必须声明在当前构造器 的首行。
  5.  构造器内部,最多只能声明一个this来调用其他的构造器。
package org.lyk.entities;

public class Emp implements Comparable<Emp>
{
    private long empno;
    private String ename;
    private String job; 
    private float sal;
    
    
    public long getEmpno()
    {
        return empno;
    }
    public void setEmpno(long empno)
    {
        this.empno = empno;
    }
    public String getEname()
    {
        return ename;
    }
    public void setEname(String ename)
    {
        this.ename = ename;
    }
    public String getJob()
    {
        return job;
    }
    public void setJob(String job)
    {
        this.job = job;
    }
    public float getSal()
    {
        return sal;
    }
    public void setSal(float sal)
    {
        this.sal = sal;
    }
    
    
    @Override
    public String toString()
    {
        return "Emp [empno=" + empno + ", ename=" + ename + ", job=" + job + ", sal=" + sal + "]";
    }
    public Emp()
    {
        this(-1, "无名氏", "未指定", 0);
    }
    public Emp(long empno)
    {
        this(empno,"无名氏","未指定",0);
    }
    public Emp(long empno, String name)
    {
        this(empno, name, "未指定", 0);
    }
    
    public Emp(long empno, String ename, String job, float sal)
    {
        super();
        this.empno = empno;
        this.ename = ename;
        this.job = job;
        this.sal = sal;
    }
    @Override
    public int compareTo(Emp o)
    {
        if(this.sal < o.sal)
            return -1;
        else if(this.sal > o.sal)
            return 1;
        
        if(this.empno < o.empno)
            return -1;
        else if(this.empno > o.empno)
            return 1; 
        
        return 0;
    }
    
    
    
}

 

this关键字的使用

原文:https://www.cnblogs.com/dorsher/p/14767047.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!