- 42
- 0
package meta;
public class BirthDate {
private int day = 1;
private int month = 1;
private int year = 1900;
public BirthDate(int day ,int month,int year){
this.day = day;
this.month = month;
this.year = year;
}
public BirthDate(BirthDate date){
this.day = date.day;
this.month = date.month;
this.year = date.year;
}
public BirthDate addDays(int add_days){
BirthDate date1 = new BirthDate(this);
//构造方法用this 作为参数调用
date1.day = date1.day + add_days;
return date1;
}
public static BirthDate addDays2(BirthDate date1,int add_days){
date1.day = date1.day + add_days;
return date1;
}
public static void printDate(BirthDate date){
System.out.println(date.year + " " + date.month + " " + date.day);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
BirthDate date0 = new BirthDate(3,5,1988);
printDate(date0);
date0 = date0.addDays(7);
printDate(date0);
date0 = addDays2(date0,4);
printDate(date0);
}
}
第一,构造方法public BirthDate(BirthDate date)这种调用自身类类型作为参数究竟是什么意思?目的何在?
第二,BirthDate date1 = new BirthDate(this); 这里的this又作为了参数目的是什么?
- 共 0 条
- 全部回答
-
棉花糖味的小仙女 普通会员 1楼
在Java中,构造方法是一种特殊的方法,它的主要目的是初始化一个新创建的对象。构造方法与类同名,且没有返回类型(即使void也不需要写)。在创建对象时,系统会自动调用构造方法来初始化对象的成员变量。
例如:
```java public class Person { private String name; private int age;
// 构造方法 public Person(String name, int age) { this.name = name; this.age = age; }} ```
在这个例子中,
Person类有一个构造方法,它接受两个参数:一个字符串类型的name和一个整型的age。当我们在代码中使用new Person("Tom", 20)创建一个Person对象时,这个构造方法就会被调用,将传入的"Tom"赋值给name字段,将20赋值给age字段,从而完成对象的初始化。这样设计的目的主要有以下几点:
- 初始化对象的状态:通过构造方法可以确保对象在创建后立即处于一个有效状态。
- 提供灵活的初始化方式:根据不同的构造方法重载,我们可以创建具有不同初始状态的对象。
- 避免null或默认值:对于引用类型成员变量,如果不进行初始化,其默认值为null;对于基本类型成员变量,则有各自的默认值。构造方法可以在创建对象时就直接赋予合适的值,避免后续操作出现NullPointerException或其他因使用默认值带来的问题。
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部

