草庐IT

修饰符

全部标签

unit-testing - Swift、访问修饰符和单元测试

我刚刚升级到Xcode6beta4,Swift编译器现在支持accessmodifiers.这给我带来了问题,因为我的单元测试现在无法编译(由于类未公开)。简单的解决方案当然是将所有测试的类公开,但这感觉像是hack(我个人的偏好是即使在非公开类上也编写单元测试)。在.NET和Java中,您通常可以允许单元测试程序集级别(或Java/OSGi中的捆绑级别)从单元测试程序集访问被测程序集。我不明白如何在Swift中做类似的事情。我真的必须公开我的所有类(class)才能对其进行单元测试吗? 最佳答案 这是一个已知问题,在Beta4发行

java - 为什么 Java 中的所有中间点击都报告为具有 Alt 修饰符?

为什么Java中的MouseEvents在键和鼠标按钮之间共享修饰符?考虑下面的简单代码:publicstaticvoidmain(String[]args){JFrameframe=newJFrame();frame.setSize(800,600);frame.addMouseListener(newMouseAdapter(){publicvoidmouseClicked(MouseEvente){System.out.println(e);}});frame.setVisible(true);}如果您在窗口中单击三次(一次左键单击、一次中键单击和一次右键单击),您将看到以下输出

java - 无法使用修饰符 "public final"访问 java.util.HashMap$Entry

我的问题是,我的应用程序在本地Tomcat服务器上运行正常,但在安装了glassfish的服务器上会抛出错误。整个问题是我在JSTL中迭代查看HashMap。服务器抛出如下堆栈:Servlet.service()forservletjspthrewexceptionjava.lang.IllegalAccessException:Classjavax.el.BeanELResolvercannotaccessamemberofclassjava.util.HashMap$Entrywithmodifiers"publicfinal"atsun.reflect.Reflection.en

java - 当类具有默认访问修饰符时,具有公共(public)方法有什么用?

至于我的观察,当类本身具有默认访问修饰符时,其中具有公共(public)方法有什么用。Java编译器可能已经停止在默认类中使用公共(public)方法。有什么理由吗? 最佳答案 非公共(public)类可能实现公共(public)接口(interface)。这意味着包外的类无法创建此类的实例或创建该类型的引用,但如果传递实例,它们仍然能够调用其上的方法。例如,一个公共(public)工厂类可能会在其包中创建一个非公共(public)类的实例并将其返回。 关于java-当类具有默认访问修饰

Java 错误 - 参数的非法修饰符 - 仅允许 final

下面的代码有什么问题publicstaticvoidmain(String[]args){publicstaticfinalStringName="RobinWilson";}字符串引用名称显示编译错误-Java错误-参数名称的非法修饰符-仅最终允许我可以接受以下给出的建议,但我想了解为什么不允许这样做,尽管它们都是静态的? 最佳答案 您已修改要问的问题:Iwanttounderstandwhyitisnotpermitted,thoughbotharestatic?方法中的变量只存在于栈帧中。每次调用方法时,JVM都会创建一个新的

Java volatile 修饰符和同步块(synchronized block)

由多个线程访问但仅在同步块(synchronizedblock)内的变量是否需要volatile修饰符?如果不是,为什么? 最佳答案 您不需要在synchronized中使用volatile,synchronized已经保证在一致使用时(每次访问时)本地变量缓存的正确行为。volatile适用于原始值,并且可以成为对原始类型进行原子访问的一个很好的快捷方式。请注意,从1.4开始,JDK5中volatile的行为发生了变化。可以找到更多信息here 关于Javavolatile修饰符和同步

java - 关于 "Redundant ' static'修饰符”警告

在publicinterfaceConstants中声明staticfinalbooleanTREAT_AS_SOURCE=true并收到一条消息,它被冗余声明为static。帮我理解这是为什么? 最佳答案 接口(interface)中声明的所有字段成员默认都是public、static和final,所以再说一遍也是多余的。 关于java-关于"Redundant'static'修饰符”警告,我们在StackOverflow上找到一个类似的问题: https:

java - 在 Java 运行时添加 final 修饰符

这听起来可能有点奇怪,但是否可以在运行时添加final修饰符?我有一个标记为publicstaticint/short的变量。在某些时候,我想防止更改它的值,并且我想将其可访问性保持为标准静态值(ClassName.field)。publicclassMain{privatestaticinta=0;publicstaticvoidaddFinalMod(Fieldf){FieldmodifiersField=null;try{modifiersField=Field.class.getDeclaredField("modifiers");}catch(NoSuchFieldExcep

java - 更改 Java 中重写方法的访问修饰符?

是否有理由可以更改重写方法的访问修饰符?例如,abstractclassFoo{voidstart(){...}}然后将package-private访问修饰符改为public,finalclassBarextendsFoo{@Overridepublicvoidstart(){...}}我只是出于好奇才问这个问题。 最佳答案 Java不允许您使访问修饰符更具限制性,因为这将违反子类实例应该可用于代替父类(superclass)实例的规则。但是当谈到使访问限制较少时...好吧,也许父类(superclass)是由不同的人编写的,他们

python - 是否有与正则表达式的 Perl "/x"修饰符等效的 Python?

Perl使构造readableregularexpressions变得容易使用/x修饰符。此修饰符允许编写正则表达式字符串并忽略这些字符串中的所有空格。换句话说,正则表达式的逻辑部分可以用空格甚至回车分隔,从而提高可读性。在Python中,我看到这样做的唯一方法是构造这样的正则表达式字符串,在中间步骤中从中删除空格,然后使用生成的字符串进行匹配。有更优雅的方法吗? 最佳答案 是的,通过设置re.X/re.VERBOSEflag:Thisflagallowsyoutowriteregularexpressionsthatlooknic