Test类
public class Test {
public static void main(String[] args) {
Data time1 = new Data();
time1.print();
Data time2 = new Data(1999,4,28);
time2.print();
}
}
Data类
public class Data {
private int year;
private int month;
private int day;
public Data() {
this.year=1997;
this.month=4;
this.day=28;
}
public Data(int year, int month, int day) {
this.year = year;
this.month = month;
this.day = day;
}
public int getYear() {
return year;
}
public void setYear(int year) {
this.year = year;
}
public int getMonth() {
return month;
}
public void setMonth(int month) {
this.month = month;
}
public int getDay() {
return day;
}
public void setDay(int day) {
this.day = day;
}
public void print(){
System.out.println(this.year+"年"+this.month+"月"+this.day+"日");
System.out.println(year+"年"+month+"月"+day+"日");
}
}
Data 类 的另一种写法
public class Data {
private int year;
private int month;
private int day;
public Data() {
this(1997,4,28);//此代码必须出现在构造函的第一行不然会报语法错误
//隐含意思是说这种采用这种形式调用构造方法我们只能使用一次。
//这是this的另一种用法形式为"this(参数列表)",使用这种方式实现构造函数
// 之间的相互调用。可以减少代码量。
// this.year=1997;
// this.month=4;
// this.day=28;
}
public Data(int year, int month, int day) {
this.year = year;
this.month = month;
this.day = day;
}
public int getYear() {
return year;
}
public void setYear(int year) {
this.year = year;
}
public int getMonth() {
return month;
}
public void setMonth(int month) {
this.month = month;
}
public int getDay() {
return day;
}
public void setDay(int day) {
this.day = day;//此处的this. 如果省略那day=day都会变成局部变量int day
// 这是由于Java默认的就近原则导致的。
}
public void print(){
System.out.println(this.year+"年"+this.month+"月"+this.day+"日");
System.out.println(year+"年"+month+"月"+day+"日");//(this.)可以省略
}
}