Hi!欢迎光临陕西省的权威思科、华为、Oracle、红帽、深信服、微软认证培训中心!
| 029-88235527
您现在所在位置:首页 > 新闻资讯 > 行业新闻 >

Java中this关键字在构造方法中的使用

发布日期:2019-09-18 16:36:18点击次数:

分享到:
  今天鸥鹏java培训机构小编为大家介绍this关键字在构造方法中的使用,希望通过此文大家能够掌握this关键字在构造方法中的使用,下面就随小编一起来了解一下Java中this关键字在构造方法中的使用。
Java中this关键字在构造方法中的使用

  1、Java中this关键字代表对象本身。用this关键字可以在类的内部调用属性和方法,这样代码的可读性比较高,因为它明确的指出了这个属性或方法的来源。

  2、同时在构造函数中也可以使用this关键字调用本类中的其它构造函数,但有几点需要注意:

  (1)构造函数调用其它构造函数,需要将this写在构造函数的第一行。

  (2)构造函数不可递归,防止死循环。

  3、一个类的构造函数分为无参和有参构造函数。通常做法是指定写好一个包含所有字段的构造函数,然后其它构造函数可以直接调用该函数,实现代码重用。

  packageorg.lyk.entities;

  publicclassEmpimplementsComparable

  {

  privatelongempno;

  privateStringename;

  privateStringjob;

  privatefloatsal;

  publiclonggetEmpno()

  {

  returnempno;

  }

  publicvoidsetEmpno(longempno)

  {

  this.empno=empno;

  }

  publicStringgetEname()

  {

  returnename;

  }

  publicvoidsetEname(Stringename)

  {

  this.ename=ename;

  }

  publicStringgetJob()

  {

  returnjob;

  }

  publicvoidsetJob(Stringjob)

  {

  this.job=job;

  }

  publicfloatgetSal()

  {

  returnsal;

  }

  publicvoidsetSal(floatsal)

  {

  this.sal=sal;

  }

  @Override

  publicStringtoString()

  {

  return"Emp[empno="+empno+",ename="+ename+",job="+job+",sal="+sal+"]";

  }

  publicEmp()

  {

  this(-1,"无名氏","未指定",0);

  }

  publicEmp(longempno)

  {

  this(empno,"无名氏","未指定",0);

  }

  publicEmp(longempno,Stringname)

  {

  this(empno,name,"未指定",0);

  }

  publicEmp(longempno,Stringename,Stringjob,floatsal)

  {

  super();

  this.empno=empno;

  this.ename=ename;

  this.job=job;

  this.sal=sal;

  }

  @Override

  publicintcompareTo(Empo)

  {

  if(this.sal<o.sal)

  return-1;

  elseif(this.sal>o.sal)

  return1;

  if(this.empno<o.empno)

  return-1;

  elseif(this.empno>o.empno)

  return1;

  return0;

  }

  }

  packageorg.lyk.main;

  importorg.lyk.entities.Emp;

  publicclassMain

  {

  publicstaticvoidmain(String[]args)

  {

  Emp[]emp=newEmp[4];

  emp[0]=newEmp();

  emp[1]=newEmp(9989);

  emp[2]=newEmp(9987,"Jerry");

  emp[3]=newEmp(7786,"Larry","programer",889);

  java.util.Arrays.sort(emp);

  for(Empitem:emp)

  {

  System.out.println(item);

  }

  }

  }