草庐IT

lldb_private

全部标签

java - Mockito/Powermockito 模拟私有(private)无效方法

我需要使用mockito和powermock模拟一个不带参数的私有(private)void方法。该方法属于一个spy实例。我知道我需要这样做的事实表明代码不好,但我正在处理一个旧项目,将单元测试从一个测试框架转换为另一个测试框架。如果有人有任何建议,我们将不胜感激。谢谢!到目前为止我已经试过了:PowerMockito.doNothing().when(Whitebox.invokeMethod(spy,"method",null));但是我得到这个错误:Nomethodfoundwithname'method'withparametertypes:[]

java - 为什么 java.util.Objects 私有(private)构造函数抛出 assertionError

我观察到java.util.Objects有一个构造函数会抛出AssertionError。*@since1.7*/publicfinalclassObjects{privateObjects(){thrownewAssertionError("Nojava.util.Objectsinstancesforyou!");}...这是一个静态实用程序类,因此不需要实例。据我所知,一个可能的原因是,开发人员试图确保不创建此类的实例。因为任何人都可以调用此构造函数的唯一方法是通过反射。还有其他原因需要这种构造函数吗? 最佳答案 唯一的目的

java - 我可以静态导入私有(private)子类吗?

我有一个私有(private)的枚举,不会在类外公开。无论如何我可以做那种类型的静态导入,这样我就不必每次都输入枚举类型了吗?或者有更好的写法吗?示例:packagekip.test;importstatickip.test.Test.MyEnum.*;//compileerrorpublicclassTest{privatestaticenumMyEnum{DOG,CAT}publicstaticvoidmain(String[]args){MyEnumdog=MyEnum.DOG;//thisworksbutIdon'twanttotype"MyEnum"MyEnumcat=CAT

java - 在运行时,private、public、package 关键字之间有什么区别吗?

我知道Java在开发过程中有这些serval关键字来标识变量范围,但我想知道这在生产环境中是否有所不同,或者只是为了编码人员的兴趣?谢谢。 最佳答案 辅助功能也在运行时强制执行。如果某些代码试图访问它不应该访问的成员,则会抛出IllegalAccessException或IllegalAccessError。这是一个快速演示:publicclassAccessTest{publicintpublicNumber;privateintsecretNumber;}publicclassClient{publicstaticvoidmai

java - 公开类,但对 JAR 文件保持私有(private)

有没有办法使Java类公开但仅对JAR文件公开?也就是,它不是私有(private)包,而是公共(public)包,但不是JAR公共(public)包?假设我有这样的结构:project/package1/One.javapackage2/Two.javapackage3/Three.java由于3个.java文件位于不同的包中,因此我需要将其公开。但是有没有办法让它们只对包含该项目的JAR公开?这样如果另一个项目导入JAR,它就看不到某些公共(public)类/字段? 最佳答案 使用项目Jigsaw在Java9中,您可以完全做到这

java - 是否可以使用反射从 Java 类中检索所有成员,包括私有(private)成员?

例如,我希望能够写作Method[]getMethods(Classc)这会和现有的做同样的事情Class.getMethods()但也包括私有(private)和protected方法。我有什么想法可以做到这一点吗? 最佳答案 publicMethod[]getMethods(Classc){Listmethods=newArrayList();while(c!=Object.class){methods.addAll(Arrays.asList(c.getDeclaredMethods()));c=c.getSuperclass

java - 非公有或非私有(private)的变量-Java

各位程序员大家好,如果一个变量被定义为不是在方法外定义的public或private比如:Graphicsgoff;Imageii;Threadthethread;变量将被定义为什么? 最佳答案 没有任何显式修饰符定义的变量将具有package-private的访问级别。这些变量只能在它自己的包中访问。您可以阅读有关javahere的访问/变量范围级别的更多信息. 关于java-非公有或非私有(private)的变量-Java,我们在StackOverflow上找到一个类似的问题:

java - 为什么允许访问另一个对象的私有(private)字段?

最近,我观察到在Java中访问priavte字段的意外行为。考虑以下示例,它说明了行为:publicclassA{privateinti;为什么我可以在foo方法中访问类A的另一个对象的私有(private)字段(第二种情况)? 最佳答案 私有(private)字段保护的是一个类,而不是一个实例。主要目的是允许类独立于其API实现。在它们之间隔离实例,或保护实例的代码免受同一类的静态代码的影响将不会带来任何结果。 关于java-为什么允许访问另一个对象的私有(private)字段?,我们

java - 在 Java 中,为什么父类(super class)方法不能从子类实例访问 protected 或私有(private)方法/变量?

让我们从另一个行为开始:即使您将方法/变量声明为私有(private),同一类的另一个实例也可以访问它。没关系,我可以忍受。我称这些为类私有(private)而不是实例私有(private)。现在是问题部分:例如,在运行时我希望能够检查this类中的所有String变量是否不为null,如果它们为null,则应将其更改为字符串“NULL”。我可以使用反射遍历变量并获取它们的值。但是,如果我扩展我的类并添加私有(private)或什至protected变量,我的基类将无法访问它们。我必须先对变量进行setAccessible,然后才能使用它们。所以请向我解释为什么基类(父类(superc

java - 子类是否继承父类(super class)的私有(private)实例变量

Dosubclassesinheritprivatefields?这个问题解决了同样的问题,但我不太明白它如何满足下面(看似)矛盾的情况。http://docs.oracle.com/javase/tutorial/java/IandI/subclasses.html表示“子类不继承其父类的私有(private)成员。”这意味着它既不继承私有(private)实例变量也不继承私有(private)方法,对吧?但是,如果它从其父级继承公共(public)访问器方法,这将如何工作?它返回一个它不知道存在的实例变量?此外,我的计算机科学书籍(Baron的APComputerScienceA)