我现在有两个类:RemindersDAO.java和ViewLocalReminders.java。
我试图访问ViewLocalReminders.java中的变量,并且试图从RemindersDAO.java调用它。我通过使用getter /
setter方法组合来做到这一点。但是,由于某种原因,我的变量值在getter方法中一直设置为0。这是代码:
ViewLocalReminders.java
public class ViewLocalReminders extends SherlockListActivity {
private long reminderID;
public void onCreate(Bundle SavedInstance) {
reminderID = 16;
setReminderID(reminderID);
}
public void setReminderID(long id) {
id = reminderID;
System.out.println("Reminder ID Value in Setter: " + reminderID);
}
public long getReminderID() {
return reminderID;
System.out.println("Reminder ID Value in Getter: " + reminderID);
}
}
提醒DAO.java
public class RemindersDAO extends SQLiteOpenHelper {
@SuppressWarnings("deprecation")
public Cursor getRowByID(Activity activity) {
String[] from = { _ID, NAME };
ViewLocalReminders viewLocalReminders = new ViewLocalReminders();
long reminderID = viewLocalReminders.getReminderID();
System.out.println("Value of Reminder ID in RemindersDAO: " + reminderID);
}
}
这是我所有System.out.printlns的输出:
很明显,在setter和getter方法之间发生了某些事情。在setter方法中,hinterID的值应为16。但是,在getter方法中该值变为0。因此,当我在RemindersDAO.java中调用getter方法时,该值仍为0。我在这里做错了什么?谢谢你的帮助!:)
谢谢大家的帮助。即使我遵循了你们所有人的建议,我也无法弄清楚为什么我的吸气器和装夹器不起作用。我猜想这与将hinterID用作构造函数的参数有关。无论哪种方式,我都使用Android的Bundle解决了我的问题,并通过该方法将变量从一个活动转移到另一个活动。
再次感谢您的所有帮助!:)
问题内容: 我现在有两个类:RemindersDAO.java和ViewLocalReminders.java。 我试图访问ViewLocalReminders.java中的变量,并且试图从RemindersDAO.java调用它。我通过使用getter / setter方法组合来做到这一点。但是,由于某种原因,我的变量值在getter方法中一直设置为0。这是代码: ViewLocalRemind
问题内容: 简要阅读以上文章后,我发现getter和setter是糟糕的OO设计,应避免使用它们,因为它们与封装和数据隐藏相反。在这种情况下,创建对象时如何避免这种情况,以及如何将一个模型对象考虑在内。 如果需要使用吸气剂或吸气剂,还可以使用其他替代方法吗? 谢谢。 问题答案: 吸气或吸气器本身并不是很糟糕的OO设计。 不好的是编码实践,它会自动为每个单个成员包括一个getter和一个setter
使用getters和setters它们只获取和设置——而不是简单地使用这些变量的公共字段有什么好处? 如果getters和setters所做的不仅仅是简单的get/set,我可以很快搞清楚这一点,但是我不是100%清楚如何做到: 比任何更糟糕: 而前者需要的样板代码要少得多。
我对Lombok和JSTL如何处理getters和setters有点困惑。我有以下@data类: 并且我可以访问.jsp中的私有布尔值,如下所示: 同时我也可以将私有布尔值声明为 并以相同的方式在JSTL中访问它。但是,以下代码将引发PropertyNotFoundException: 谁能澄清一下我在同时使用JSTL和Lombok时应该使用什么命名约定吗?提前道谢!
已安装Lombok v1.14.8“分支眼镜蛇”。http://projectlombok.org/ 将lombok添加到我的pom.xml: maven->更新项目。项目->清理
问题内容: 我在ubuntu上使用IntelliJ IDEA。我将 lombok.jar 添加到我的项目中,并为IDEA安装了Lombok插件。我曾访问注释,但并没有产生。如果尝试访问不存在的getter或setter方法,则会遇到相同的错误。我可能会缺少什么? 问题答案: 我通过在“设置”->“编译器”->“注释处理器”中选中“启用注释处理”复选框来修复它。