Java中this关键字在构造方法中的使用
发布日期:2019-09-18 16:36:18点击次数:次
今天鸥鹏java培训机构小编为大家介绍this关键字在构造方法中的使用,希望通过此文大家能够掌握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);
}
}
}