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关键字的作用

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

  1. java中定义类的关键字是_java中定义类的关键字是什么?

    java中定义类的关键字是:"class".在Java中定义一个类,需要使用"class"关键字.一个自定义的类名和一对表示程序体的大括号. 类是 Java 中 ...

  2. python中定义类的关键字,在Python中,定义类的关键字是

    在Python中,定义类的关键字是 答:class; 劳动生产率分为:实物劳动生产率.工时劳动生产率.货币劳动生产率. 答:正确 总的来说,全球通用卡交易金额.交易笔数在近十年来,低于全球经济的增速 ...

  3. Java中的对象、private关键字、this关键字、构造方法

    面向对象 概述:Java一种面向对象的程序设计语言,面向对象思想是一种程序设计思想,在面向对象思想的指引下,使用Java语言去设计.开发计算机程序. 这里的对象泛指现实中一切事物,每种事物都具备自己的 ...

  4. java重载中this的作用_Java2:构造方法、方法重载和this关键字

    上一篇博客小编已经给读者介绍了Java入门的类与对象,这一章节我们来了解一下构造方法,方法重载以及this关键字. 一:构造方法 Java中方法一般有2中:普通方法和构造方法.我们已经知道普通方法的声 ...

  5. Java中封装、关键字及构造方法

    1.封装 a:隐藏实现细节,提供公共的访问方式. b:好处,隐藏实现细节,提供公共的访问方式.提高代码的复用性.提高代码的安全性. c:设计原则,把不想让外界知道的实现细节给隐藏起来,提供公共的访问方 ...

  6. Java中super关键字调用构造方法小结

    1.子类中所有的构造方法默认都会访问父类中的无参构造方法. 2.子类会继承父类中的数据,还可能回去使用父类的数据.所以子类初始化之前,会先完成父类的初始化,即先访问父类中的无参构造方法. 3.在子类中 ...

  7. Java中的两个关键字——super、this

    Java中的两个关键字--super.this 神话丿小王子的博客主页 一.super super 是java中方的一个关键字,用它可以引用父类中的成员: super可用于访问父类中定义的属性 sup ...

  8. java构造方法 this_Java之构造方法及this、super关键字

    有关构造方法的理解: 需要对对象的数据进行初始化,则创建一个构造方法,此方法名字和类名一样,但是没有返回值(类型和具体的值都没,但是可以写return;).构造方法是用来创建对象的,所以是不能被对象调 ...

  9. java中的标识符和关键字_浅谈java中的标识符、修饰符和关键字

    合法标识符 Java语言中,对于变量,常量,函数,语句块均有名字,我们统统称之为Java标识符.标识符是用来给类.对象.方法.变量.接口和自定义数据类型命名的. 组成:Java标识符由数字,字母和下划 ...

最新文章

  1. 【Android】FragmentTabHost实现底部Tab菜单选项
  2. MIT人工突触芯片新突破:指甲大小的芯片有望媲美超算
  3. vue-route动态路由
  4. Windows在结构Eclipse+Android4.0开发环境
  5. Redis Scan命令
  6. 从数据结构到算法:图网络方法初探
  7. python---统计列表中数字出现的次数
  8. 【图像处理】——opencv常用函数
  9. python获取div标签的id_Python 获取div标签中的文字实例
  10. C++:fseek( FILE *stream, long offset, int origin )
  11. 论ul、ol和dl的区别
  12. 利润表模板excel_让财务人看完心动的369个Excel财务分析图表,老板都忍不住点赞...
  13. 注册码生成器及加密程序
  14. 简单获取apk的签名及shal码
  15. PostgreSQL DBA(63) - Extension(pg_stat_statements)
  16. 【游戏客户端】制作节奏大师Like音游(下)
  17. 【JetBrain】JetBrain系列软件设置背景图
  18. 酷派android4.4.4到5.0,酷派大神F2和大神F1安卓5.0系统升级将到来
  19. vue-transitionslotmixinfilterplugin
  20. 基于导向滤波的暗通道先验去雾算法(Python,可直接运行)

热门文章

  1. 机器学习的几种学习方式
  2. 简单理解sticky定位与fixed定位的区别
  3. 【DPDK】网卡绑定和解绑步骤
  4. c语言如何统计不同分数段学生人数,Excel统计不同班级各个分数段的学生人数的方法...
  5. 小程序 订阅消息 原来就是如此
  6. JavaEE-多线程(基础篇一)
  7. 微信公众号订阅通知(go+vue)
  8. 学计算机的考研254分,2011年考研:历史学专业课254分经验谈
  9. 网易AI携手新东方布局“AI+教育”
  10. 支付宝玉伯:从前端到体验,如何把格局做大?