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

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

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

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

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

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

package org.lyk.entities;

public class Emp implements Comparable

{

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;

}

}

package org.lyk.main;

import org.lyk.entities.Emp;

public class Main

{

public static void main(String[] args)

{

Emp[] emp = new Emp[4];

emp[0] = new Emp();

emp[1] = new Emp(9989);

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

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

java.util.Arrays.sort(emp);

for(Emp item : emp)

{

System.out.println(item);

}

}

}

欢迎加入QQ群参与讨论. 422683877

swift中的如果在构造方法中使用KVC&comma; 调用了super&period;init&lpar;&rpar;&comma; 报错&comma; 基本数据类型属性找不到

swift要求, 属性必须有初始化值, 如果不对其赋值, 可以加一个?系统会默认给其包装一个可选值(直说就是nil) 如果定义一个基本类型, 建议直接赋值, 不建议使用? 下面说下标题中的问题 有时候 ...

Java基础-this关键字和构造方法&lpar;10&rpar;

this关键字 方法被哪个对象调用,this就代表那个对象当局部变量隐藏成员变量时,使用this关键字(例如构造方法和访问器). 构造方法 构造方法作用概述 给对象的数据进行初始化 构造方法格式 方法 ...

2&period; Java面向对象之泛型-构造方法中使用

package generic; class Construtgeneric { private T value; public Construtgeneric(T value) { ...

Java复习笔记--java中this 关键字

Java中this关键字,this可以调用类的成员变量和成员方法,this还可以调用类中的构造方法.使用这种方式值得注意的是, 只可以在无参构造方法中的第一句使用this关键字调用有参构造方法. pu ...

java继承关系中成员变量,构造方法,成员方法的关系

Java继承中的成员关系 A:成员变量 a:子类的成员变量名称和父类中的成员变量名称不一样,这个太简单写那个名字就访问那个名字! b:子类的成员变量名称和父类中的成员变量名称一样,这个怎么访问呢? 子 ...

Java中this关键字的作用

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值