java构造方法中this_Java中this关键字在构造方法中的使用
1. Java中this關鍵字代表對象本身。用this關鍵字可以在類的內(nèi)部調(diào)用屬性和方法,這樣代碼的可讀性比較高,因為它明確的指出了這個屬性或方法的來源。
2. 同時在構(gòu)造函數(shù)中也可以使用this關鍵字調(diào)用本類中的其它構(gòu)造函數(shù),但有幾點需要注意:
構(gòu)造函數(shù)調(diào)用其它構(gòu)造函數(shù),需要將this寫在構(gòu)造函數(shù)的第一行。
構(gòu)造函數(shù)不可遞歸,防止死循環(huán)。
3. 一個類的構(gòu)造函數(shù)分為無參和有參構(gòu)造函數(shù)。通常做法是指定寫好一個包含所有字段的構(gòu)造函數(shù),然后其它構(gòu)造函數(shù)可以直接調(diào)用該函數(shù),實現(xiàn)代碼重用。
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中的如果在構(gòu)造方法中使用KVC, 調(diào)用了super.init(), 報錯, 基本數(shù)據(jù)類型屬性找不到
swift要求, 屬性必須有初始化值, 如果不對其賦值, 可以加一個?系統(tǒng)會默認給其包裝一個可選值(直說就是nil) 如果定義一個基本類型, 建議直接賦值, 不建議使用? 下面說下標題中的問題 有時候 ...
Java基礎-this關鍵字和構(gòu)造方法(10)
this關鍵字 方法被哪個對象調(diào)用,this就代表那個對象當局部變量隱藏成員變量時,使用this關鍵字(例如構(gòu)造方法和訪問器). 構(gòu)造方法 構(gòu)造方法作用概述 給對象的數(shù)據(jù)進行初始化 構(gòu)造方法格式 方法 ...
2. Java面向?qū)ο笾盒?#xff0d;構(gòu)造方法中使用
package generic; class Construtgeneric { private T value; public Construtgeneric(T value) { ...
Java復習筆記--java中this 關鍵字
Java中this關鍵字,this可以調(diào)用類的成員變量和成員方法,this還可以調(diào)用類中的構(gòu)造方法.使用這種方式值得注意的是, 只可以在無參構(gòu)造方法中的第一句使用this關鍵字調(diào)用有參構(gòu)造方法. pu ...
java繼承關系中成員變量,構(gòu)造方法,成員方法的關系
Java繼承中的成員關系 A:成員變量 a:子類的成員變量名稱和父類中的成員變量名稱不一樣,這個太簡單寫那個名字就訪問那個名字! b:子類的成員變量名稱和父類中的成員變量名稱一樣,這個怎么訪問呢? 子 ...
Java中this關鍵字的作用
總結(jié)
以上是生活随笔為你收集整理的java构造方法中this_Java中this关键字在构造方法中的使用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 为什么努力
- 下一篇: 旅人随笔[01] 何为开源?