有什么方法可以访问其他类的私有变量。实际上,我正在为我的库项目编写测试用例,以便在应用程序崩溃时测试所有可能的临界条件。我应该以这样的方式编写,即我的项目应该通过所有测试用例。现在我的问题是我应该检查在我的库项目中声明为私有的变量。有没有办法访问这些变量(声明为私有)。
问问题
1347 次
3 回答
4
使用getter 和 setter .. 这是首选方式.. 在 setter 中确保您保留安全值并确保它们在任何情况下都不会破坏您的代码..
于 2012-04-17T11:11:08.277 回答
0
在 Android 上,您希望将活动的方法设为私有,以防止其他类认为他们可以访问它(片段可以,但这对我来说是错误的做法,最好使用可观察观察者模式)。然后,您将获得仅需要通过测试访问的私有字段和方法。
BoundBox正是这样做的!下面是一个访问活动的 2 个私有字段以对其进行测试的测试示例:
@UiThreadTest
public void testCompute() {
// given
boundBoxOfMainActivity = new BoundBoxOfMainActivity(getActivity());
// when
boundBoxOfMainActivity.boundBox_getButtonMain().performClick();
// then
assertEquals("42", boundBoxOfMainActivity.boundBox_getTextViewMain().getText());
}
于 2013-09-17T05:58:09.893 回答
0
在 java 中,我们可以使用 public 修饰符访问 Private 修饰符。公共修饰符可以是 getter / setter 或方法。
例如,有一个用户类有 id 和 show() 私有类型。这些私有修饰符我们可以在公共方法 display() 的帮助下访问外部类用户。
class user{
private int id;
private void show(){
sysout.out.println("show called");
}
public void display(){
System.Out.Println(" id ="+ id);
show();
}
}
public class Test{
Public Static Main(){
User user = new User();
//user.id; //CE
//user.show(); //CE
user.display();
}
}
您还可以参考这篇文章了解更多详细信息: 如何在课堂外访问私有数据
于 2015-11-05T12:45:51.317 回答