我想知道每当创建对象时如何在Java中执行方法。

例如:

public class Person {
    private String name;
    private int age;
    private Date dateCreated;

    public setName(String name){
    ...
    }
    ... some other methods ...

    public setDateCreated(){
         this.dateCreated = new Date();
}


我真的希望我的setDateCreated()方法在创建每个对象时都可以执行。

最佳答案

您当然会意识到,该类违反了编码的Java Bean标准。

标准将期望看到Date对象传递给setDateCreated()方法:

public void setDateCreated(Date newDate) {
    this.dateCreated = ((newDate == null) ? new Date() : new Date(newDate.getTime()));
}


添加空返回类型后,您可以自由地执行此操作,但是如果其他代码希望您符合标准要求,也不要感到震惊。

10-05 18:25