草庐IT

private-messaging

全部标签

java - 如何通过 Mockito 对被测类的私有(private)方法进行 stub

假设我们有一个名为SomeClass的java类publicclassSomeClass{privatebooleanisMethod(){returnfalse;}publicvoidsendRequest(Stringjson,Stringtext){intmessageId;if(isMethod()){messageId=getMessageId(json);sendMessage(messageId,text);}else{thrownewIllegalArgumentException();}}privatevoidsendMessage(intmessageId,Stri

java - 检查 IPv4 地址是否在私有(private)范围内

在Python中,使用IPy模块您可以执行以下操作:>>>ip.iptype()'PRIVATE'是否有一个库或简单的方法可以在Java中做同样的事情? 最佳答案 似乎不完全是,但是InetAddress有一些isXX()方法,例如:isAnyLocalAddress()和isSiteLocalAddress() 关于java-检查IPv4地址是否在私有(private)范围内,我们在StackOverflow上找到一个类似的问题: https://stack

java - 为什么 private static field = new Singleton 在 Java 中不懒惰?

我看了很多关于Singleton的文章,其中大部分作者都说Java中Singleton的这种变体:publicclassSingleton{privatestaticSingletoninstance=newSingleton();privateSingleton(){}publicstaticSingletongetInstance(){returninstance;}}是不懒惰(然后是EAGER)。但我不明白为什么,Singleton()构造函数只会在Singleton类初始化时被调用。我知道几个可以触发类初始化的原因:将new与构造函数一起使用(但在这种情况下,构造函数是私有(p

java - 将公共(public)项目变成私有(private)项目 - Java、IntelliJ

我只是想知道是否有一种方法可以通过一个简单的按钮或其他东西使公共(public)项(字段、方法)成为私有(private)publicGroupwQ;publicGroupwA1;publicGroupwA2;publicGroupwA3;publicGroupwG1;publicGroupwG2;publicGroupwG3;publicGroupwS1;publicGroupwS2;publicGroupwB1;publicGroupwB2;例如,一步将所有这些字段设为私有(private),而无需将公共(public)替换为私有(private)。顺便说一句,我使用Intelli

java - 我应该始终对类字段使用私有(private)访问修饰符吗?

目前我们正在运行checkstyle在我们的代码库中,它会标记所有不使用private访问修饰符的非静态类字段。这是一个有效的checkstyle规则,还是在某些情况下需要非私有(private)字段?例如,我认为JUnit测试用例在同一个包中创建的原因是它们可以使用default访问修饰符访问字段? 最佳答案 面向对象编程的主要特征之一是信息隐藏/封装。这意味着类只允许通过接口(interface)访问成员变量:getter和setter方法。因此其他类无法访问成员变量并以不需要的方式修改它们。所以checkstyle规则是有效的

java - 通过 Java 中的反射设置私有(private)字段的最短、最好、最干净的方法是什么?

您好,我已经在J​​ava中使用过反射。但是,如果您使用的是Java标准(例如注入(inject)私有(private)字段),则必须编写大量代码才能完成工作。在Java对象中注入(inject)私有(private)字段的最短方法是什么?在广泛使用和生产就绪的库中是否有实现? 最佳答案 在不使用外部库的情况下,您需要:获取Field实例将字段实例设置为可访问设置新值如下:Fieldf1=obj.getClass().getDeclaredField("field");f1.setAccessible(true);f1.set(ob

Java——私有(private)构造函数 vs final 等等

假设有一个类,其所有构造函数都声明为私有(private)的。例如:publicclassThis{privateThis(){}publicsomeMethod(){//somethinghere}//somemore--nootherconstructors}据我所知,将所有构造函数设为私有(private)类似于将“This”类声明为final——这样它就无法扩展。但是,我收到的Eclipse消息给我的印象是这是可能的——可以扩展全构造函数私有(private)类。看看这个:当我尝试用类似的东西扩展这个类时publicclassThatextendsThis{...}Eclips

java - 在 Java 中使用另一个类的私有(private)方法

我有两个类:publicclassClass1{}publicclassClass2{privatevoidsimpleMethod(){/*...*/}}在Class2中,我有私有(private)方法simpleMethod(),我想在同一项目的Class1中使用它。我不想将此方法重命名为public因为我不想在我的API中显示它。我可以创建public方法而不在API中显示它吗?或者,还有什么? 最佳答案 如果Class1和Class2都在同一个包中,您可以简单地删除private修饰符,使方法成为package-privat

java - 父类(super class)的私有(private)方法是如何解决的?

classA{privatevoidsayA(){System.out.println("PrivatemethodofA");}publicstaticvoidmain(Stringargs[]){AinstanceA=newB();instanceA.sayA();}}classBextendsA{}我原以为它会抛出一个运行时异常,因为在编译时编译器检查是否可以在A的引用上调用sayA()并在运行时-time它将检查sayA()是否可以在B的对象上调用。但它反而打印了“A的私有(private)方法”。 最佳答案 可访问性是一个

Java:有没有办法强制执行私有(private)方法?

我有5或6个类,我希望它们在内部遵循相同的基本结构。实际上,类应该遵循的大多数只是为了使用函数本身,所以我真的希望这些方法是私有(private)的。有什么办法可以实现吗?我知道接口(interface)会很好用,但它们不会采用私有(private)成员,也不允许您在已实现的方法中重新定义范围。有什么解决方法吗?谢谢 最佳答案 我认为你能得到的最接近的方法是使用一个带有abstractprotected方法的abstract类:abstractclassA{protectedabstractvoidfoo();}classBexte