当前位置: 首页 > 面试题库 >

Getter和Setters不起作用?

荣沈义
2023-03-14
问题内容

我现在有两个类: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的输出:

  1. 设置器中的提醒ID值:16
  2. Getter的提醒ID值:0
  3. 提醒DAO中的提醒ID值:0

很明显,在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方法,则会遇到相同的错误。我可能会缺少什么? 问题答案: 我通过在“设置”->“编译器”->“注释处理器”中选中“启用注释处理”复选框来修复它。