java - 请帮我理解java结构

标签 java

public class MyDate {
    private int day = 1;
    private int month = 1;
    private int year = 2000;

    public MyDate(int day, int month, int year) 
    {
        this.day = day;
        this.month = month;
        this.year = year;
    }

    public MyDate(MyDate date) 
    {
        this.day = date.day;
        this.month = date.month;
        this.year = date.year;
    }

    /*
        here why do we need to use Class name before the method name?
    */
    public MyDate addDays(int moreDays) 
    {
        // "this" is referring to which object and why?
        MyDate newDate = new MyDate(this);
        newDate.day = newDate.day + moreDays;

        // Not Yet Implemented: wrap around code...
        return newDate;
    }

    public String toString()
    {
        return "" + day + "-" + month + "-" + year;
    }
}

最佳答案

回答1。 在方法名称之前使用类名称意味着您将返回 MyDate 类型的引用变量。它只是一个返回类型。

回答2。 this 指的是当前对象,即您的 MyDate 类对象。 为了使用“new”关键字创建新对象,您可以使用“this”作为快捷方式。但是“this”应该在您尝试引用对象的类中找到。

关于java - 请帮我理解java结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14152206/

相关文章:

java - 使用java仅从Excel跳过公式读取数据

java 用 array.asList 初始化数组列表

java - 如何声明方法的返回值?

java - 字符串不变性允许缓存哈希码值

Java BufferedImage 获取单个像素亮度

java - 避免在运行 selenium webDriver 测试用例时打开浏览器

java - GAE 上游标的 JDO 查询返回不一致的结果

java.lang.NoSuchMethodError : org. json.JSONObject.<init>(Ljava/lang/Object;)V

java - setOnItemClickListener() 不适用于 Fragment 中的 ExpandableHeightGridView

java - 使用 getServletConfig 获取文件名时出错