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, 调用了super.init(), 报错, 基本数据类型属性找不到
swift要求, 属性必须有初始化值, 如果不对其赋值, 可以加一个?系统会默认给其包装一个可选值(直说就是nil) 如果定义一个基本类型, 建议直接赋值, 不建议使用? 下面说下标题中的问题 有时候 ...
Java基础-this关键字和构造方法(10)
this关键字 方法被哪个对象调用,this就代表那个对象当局部变量隐藏成员变量时,使用this关键字(例如构造方法和访问器). 构造方法 构造方法作用概述 给对象的数据进行初始化 构造方法格式 方法 ...
2. 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关键字在构造方法中的使用相关推荐
- java中定义类的关键字是_java中定义类的关键字是什么?
java中定义类的关键字是:"class".在Java中定义一个类,需要使用"class"关键字.一个自定义的类名和一对表示程序体的大括号. 类是 Java 中 ...
- python中定义类的关键字,在Python中,定义类的关键字是
在Python中,定义类的关键字是 答:class; 劳动生产率分为:实物劳动生产率.工时劳动生产率.货币劳动生产率. 答:正确 总的来说,全球通用卡交易金额.交易笔数在近十年来,低于全球经济的增速 ...
- Java中的对象、private关键字、this关键字、构造方法
面向对象 概述:Java一种面向对象的程序设计语言,面向对象思想是一种程序设计思想,在面向对象思想的指引下,使用Java语言去设计.开发计算机程序. 这里的对象泛指现实中一切事物,每种事物都具备自己的 ...
- java重载中this的作用_Java2:构造方法、方法重载和this关键字
上一篇博客小编已经给读者介绍了Java入门的类与对象,这一章节我们来了解一下构造方法,方法重载以及this关键字. 一:构造方法 Java中方法一般有2中:普通方法和构造方法.我们已经知道普通方法的声 ...
- Java中封装、关键字及构造方法
1.封装 a:隐藏实现细节,提供公共的访问方式. b:好处,隐藏实现细节,提供公共的访问方式.提高代码的复用性.提高代码的安全性. c:设计原则,把不想让外界知道的实现细节给隐藏起来,提供公共的访问方 ...
- Java中super关键字调用构造方法小结
1.子类中所有的构造方法默认都会访问父类中的无参构造方法. 2.子类会继承父类中的数据,还可能回去使用父类的数据.所以子类初始化之前,会先完成父类的初始化,即先访问父类中的无参构造方法. 3.在子类中 ...
- Java中的两个关键字——super、this
Java中的两个关键字--super.this 神话丿小王子的博客主页 一.super super 是java中方的一个关键字,用它可以引用父类中的成员: super可用于访问父类中定义的属性 sup ...
- java构造方法 this_Java之构造方法及this、super关键字
有关构造方法的理解: 需要对对象的数据进行初始化,则创建一个构造方法,此方法名字和类名一样,但是没有返回值(类型和具体的值都没,但是可以写return;).构造方法是用来创建对象的,所以是不能被对象调 ...
- java中的标识符和关键字_浅谈java中的标识符、修饰符和关键字
合法标识符 Java语言中,对于变量,常量,函数,语句块均有名字,我们统统称之为Java标识符.标识符是用来给类.对象.方法.变量.接口和自定义数据类型命名的. 组成:Java标识符由数字,字母和下划 ...
最新文章
- 【Android】FragmentTabHost实现底部Tab菜单选项
- MIT人工突触芯片新突破:指甲大小的芯片有望媲美超算
- vue-route动态路由
- Windows在结构Eclipse+Android4.0开发环境
- Redis Scan命令
- 从数据结构到算法:图网络方法初探
- python---统计列表中数字出现的次数
- 【图像处理】——opencv常用函数
- python获取div标签的id_Python 获取div标签中的文字实例
- C++:fseek( FILE *stream, long offset, int origin )
- 论ul、ol和dl的区别
- 利润表模板excel_让财务人看完心动的369个Excel财务分析图表,老板都忍不住点赞...
- 注册码生成器及加密程序
- 简单获取apk的签名及shal码
- PostgreSQL DBA(63) - Extension(pg_stat_statements)
- 【游戏客户端】制作节奏大师Like音游(下)
- 【JetBrain】JetBrain系列软件设置背景图
- 酷派android4.4.4到5.0,酷派大神F2和大神F1安卓5.0系统升级将到来
- vue-transitionslotmixinfilterplugin
- 基于导向滤波的暗通道先验去雾算法(Python,可直接运行)