博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java中this关键字在构造方法中的使用
阅读量:4598 次
发布时间:2019-06-09

本文共 2337 字,大约阅读时间需要 7 分钟。

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

转载于:https://www.cnblogs.com/kuillldan/p/5899881.html

你可能感兴趣的文章
InterlliJ IDEA 创建maven的web项目并部署
查看>>
提交到SVN中的项目被删除 且项目名已经被新建项目占用找回方法
查看>>
Word2010_2003页眉有条横线怎么删掉
查看>>
qwq
查看>>
简述MVC思想与PHP如何实现MVC
查看>>
python之旅:常用模块
查看>>
android 练习之路 (五)
查看>>
matplotlib——pyplot和pylab区别
查看>>
Promise异步编程模式总结
查看>>
做网站用UTF-8编码还是GB2312编码?
查看>>
在ant编译java文件时产生debug信息
查看>>
深入理解计算机系统--信号
查看>>
Oracle触发器-变异表触发器不能访问本表
查看>>
centos+scala2.11.4+hadoop2.3+spark1.3.1环境搭建
查看>>
浅析libuv源码-node事件轮询解析(3)
查看>>
python想要入门--瞎学习
查看>>
原生JS实现全选和不全选
查看>>
中间件、服务器和Web服务器三者的区别
查看>>
定目标
查看>>
zabbix监控tcp/nginx/memcache连接数自定义监控shell
查看>>