private static和 public static

学习博客(详细地请看这篇大神的博客)
https://blog.csdn.net/u013165504/article/details/45459453

private static
修饰的属性用在当前类A里的方法中,当前类A中的方法可以是静态方法,也可以是非静态方法,在这两种方法中private static修饰的属性作为当前类A的成员变量可以直接被调用,但是它不能用在在外部类B(非本类)中的方法中使用当类.private static修饰的成员变量(A.private static 属性名),也不能用于在B类中的方法中创建了A类的对象,使用对象.属性名
public static
修饰的属性既可以用在当前类的静态或非静态方法中,也可以用在外部类的方法中的直接类名.属性名,也可以用属性所在类创建的对象.属性名
private static合法,用于为静态方法或非静态方法提供私有静态属性,public static对外提供可以直接类名.属性名的静态变量

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 Java 中,可以使用 Mockito 框架来 mock `private static` 对象。下面是一个示例: 我们有一个类 `MyClass`,其中有一个 `private static` 对象 `myObject`: ```java public class MyClass { private static MyObject myObject = new MyObject(); public static void doSomething() { myObject.doSomethingElse(); } } ``` 现在我们想要 mock `myObject` 对象以便测试 `doSomething` 方法。我们可以使用 Mockito 的 `PowerMockito` 扩展来处理 `static` 方法和字段。 首先,我们需要在测试类中添加以下注解: ```java @RunWith(PowerMockRunner.class) @PrepareForTest(MyClass.class) ``` 然后,我们可以使用 `PowerMockito` 的 `mockStatic` 方法来 mock `myObject` 对象: ```java @Test public void testDoSomething() { MyObject mockedObject = Mockito.mock(MyObject.class); PowerMockito.mockStatic(MyClass.class); PowerMockito.when(MyClass.getMyObject()).thenReturn(mockedObject); MyClass.doSomething(); Mockito.verify(mockedObject).doSomethingElse(); } ``` 在这个测试中,我们首先创建一个 mock 对象 `mockedObject`,然后使用 `PowerMockito.mockStatic` 方法来 mock `MyClass` 类。接下来,我们使用 `PowerMockito.when` 方法来模拟 `MyClass.getMyObject` 方法并返回我们的 mock 对象。最后,我们调用 `MyClass.doSomething` 方法并验证 `mockedObject` 的 `doSomethingElse` 方法是否被调用。 需要注意的是,使用 `PowerMockito` 进行测试时,有些场景下可能需要添加一些额外的 Maven 依赖,例如 `powermock-module-junit4` 和 `powermock-api-mockito2`。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值