Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 修改对象属性_Java_Oop_Class_Methods_Attributes - Fatal编程技术网

Java 修改对象属性

Java 修改对象属性,java,oop,class,methods,attributes,Java,Oop,Class,Methods,Attributes,我目前正在制作一个程序,需要我制作一个方法,将+1添加到现有对象日期属性的日期。问题是我不完全确定如何修改它的值,我尝试了day=day+1,this.day+1,等等 让我们假设一个对象date1等于1/1/1970,我运行了date1.tomory();它将修改它,使之成为1970年2月1日 编辑:我没有使用java.util.Date,我创建了一个名为Date的构造函数,其中包含3个字段。您不能通过将整数1添加到对象中来直接修改Date对象。这是因为它们的类型不同。我建议使用对象;它有一个

我目前正在制作一个程序,需要我制作一个方法,将+1添加到现有对象日期属性的日期。问题是我不完全确定如何修改它的值,我尝试了day=day+1,this.day+1,等等

让我们假设一个对象date1等于1/1/1970,我运行了date1.tomory();它将修改它,使之成为1970年2月1日


编辑:我没有使用java.util.Date,我创建了一个名为Date的构造函数,其中包含3个字段。

您不能通过将整数1添加到对象中来直接修改
Date
对象。这是因为它们的类型不同。我建议使用对象;它有一个名为的方法。那会做你想做的事

编辑:我有更详细的说明,但由于这个问题听起来像是家庭作业,我只给你上面的提示。无论如何,它应该足以为您指明正确的方向。

试试以下方法:

Calendar c = Calendar.getInstance(); 
c.setTime(yourDate); 
c.add(Calendar.DATE, 1);
yourDate = c.getTime();
编辑

让我们假设对象date1等于1/1/1970,然后我运行 日期1.明天();它将修改它,使之成为1970年2月1日

如果日期对象(例如
dt
)是java.util.date,则不能执行
dt.tomory()
,除非扩展
util.date
,否则可以创建一个util类/方法。e、 g:

class Foo {
....

public static Date tomorrow(java.util.Date yourDate){
Calendar c = Calendar.getInstance(); 
    c.setTime(yourDate); 
    c.add(Calendar.DATE, 1);
    return c.getTime();
}
那就叫它:

dt = Foo.tomorrow(dt);

如果您正在处理
java.util.Date
的对象,则在这些对象上使用
+
运算符是无效的

更重要的是,即使
+
操作员是合法的,使用它也没有任何意义-
date+1
应该将
1
添加到日期、月份或年份

要操作
java.util.Date
的对象,类
Calendar
提供了几种实用方法。其中一个你可以在这里使用的是

在给定日历中添加或减去指定的时间量 字段,基于日历的规则。例如,减去5天 从日历的当前时间开始,您可以通过调用:

编辑:

从编辑中可以看出,您没有使用
java.util.Date
对象。既然您的
Date
对象维护了三个属性(最有可能是Date、month和year),您应该能够对这些字段应用算术运算符

但是,在操作这些字段时,应小心遵循与日期相关的规则(假设它们属于整数类型之一)


例如,将
1
day添加到
28/02/2013
应该同时更新
date
实例的日期和月份。

您是否正在查找
this.day++
?我猜您正在使用日期对象,因此可能会对您有所帮助。您是否正在谈论
java.util.date
的对象?看起来像是家庭作业,“所以我认为这不应该被应用。”LuiggiMendoza说得很好。我以前没想过。通常我能发现“家庭作业”问题。我会要求OP澄清。我会将此代码添加到我的明天方法中吗?@MarioStanicic请参阅编辑
add(Calendar.DAY_OF_MONTH, -5)