【java – 最终类中的Powermock静态final方法】教程文章相关的互联网学习教程文章

java – Mockito绕过静态方法进行测试【代码】

我需要使用Mockito测试handleIn()方法. 但是代码需要调用这个遗留代码Util.getContextPDO,这是一个静态方法. 请注意,在测试环境中,此Util.getContextPDO始终返回Exception,并且我打算通过始终返回虚拟IPDO来绕过此Util.getContextPDO().public class MyClass {public IPDO getIPDO() {return Util.getContextPDO(); // note that Util.getContextPDO() is a static, not mockable.}public String handleIn(Object input) throws Th...

java – 无法在静态方法中声明静态变量【代码】

class Foo {public Foo() { } }class Bar {static Foo foo = new Foo(); // This is legal...public static void main(String[] args) { static int a = 0; // ... But why this is not?} }为什么我们不能在静态函数内声明静态变量?解决方法:您必须使静态最终静态或移除静态. 在Java中,static意味着它是类的变量/方法,它属于整个类,但不属于某个特定对象.这意味着static关键字只能在“类范围”中使用. 通常,在C中,您可以静态分配本...

java – 为什么我不能在静态上下文中使用“super”变量,即使“super”引用父类而不是类实例,不像“this”?

我说的是java语言. 变量“this”在类中使用时,引用该类的当前实例,这意味着您不能在静态方法中使用“this”. 但是“super”,当在类中使用时,指的是该类的超类,而不是超类的实例,这应该意味着你可以在静态方法中使用“super”.但事实证明你做不到. 一个可能的解释是说“超级”也指的是超类的一个实例,但我不明白为什么它应该……解决方法:以下是JLS中关于super关键字的部分: http://docs.oracle.com/javase/specs/jls/se7/html/jls...

java – 谷歌地图静态地图折线穿过湖泊,河流,山脉【代码】

我的程序使用谷歌地图指向网络服务来查找两点之间的路线.结果被解析并存储在变量中.然后,此变量用于撰写Google静态地图网址. 解析和URL正常工作.问题是绘制的“路线”穿过湖泊和山脉.{String GPS = "-22.978823,-43.233249";String link = MAPS_BASE_URL + "center=brazil," + GPS + "&markers=color:blue|brazil," + GPS +"&path=color:0xff0000ff" + "%s" + "&zoom=13&size=1024x1024&sensor=false"; String htmlContent = "";St...

通过Java中的main方法访问非静态成员【代码】

作为面向对象范例的规则,静态方法只能访问静态变量和静态方法.如果是这样的话,就会出现一个明显的问题,即Java中的main()方法如何能够访问非静态成员(变量或方法),即使它是特定的public static void … !!!解决方法:main方法也无法访问非静态成员.public class Snippet {private String instanceVariable;private static String staticVariable;public String instanceMethod(){return "instance";}public static String staticMeth...

java – 在哪里放置Spark Web Framework的静态文件?【代码】

在尝试使用Spark Web框架提供静态文件时,我在哪里放置文件? 我无法在网上找到任何东西 – 我开始怀疑我对Eclipse和Java项目的类路径,相对路径等一无所知. 关于Spark中的静态文件This paragraph是指/ public,但我不知道它会在哪里.使用Windows,Eclipse Luna和我的项目转换为使用Maven. 我已经尝试过在GitHub上查看代码了,但是我试图找到它有点不合时宜.解决方法:首先你必须告诉Spark在哪里搜索这样的静态文件:Spark.staticFiles.l...

java – 从其他类调用非静态方法【代码】

我正在完成我的任务,并遇到了一些错误.在一个班级我有这个方法:public class Class1{public static boolean winningRecord(){final int WINNING_RECORD;return Class2.getPoints() > WINNING_RECORD;} }class Class2{int wins = 0;public int getPoints(){return wins; //More to it but to keep it simple I'll leave that out} }现在我收到错误“非静态方法无法从静态上下文引用…”,所以我使getPoints()成为一个静态方法,使变量...

Java中的继承与静态【代码】

我不太明白为什么静态方法可以在Java中继承? 继承就像从基类继承AND静态属于Class而不是Object. 因此,如果静态属于类只有为什么它会逐渐渗透到派生类?它不应该只停留在定义它的类中吗? 继承静态方法是一种很好的编程习惯吗?解决方法:在java中,静态方法不会被继承(或者正确的单词被覆盖),但它们可以被隐藏. 这里的不同之处在于它们不像对象方法那样受多态性影响.public class C1 {static public void M1() {System.out.println(...

Java静态变量变为null【代码】

我有一个android java类,其中一个静态实例保存用户的信息.但是,在一些用户使用我的应用程序的极少数情况下,该静态实例中的一个变量在一段时间后变为null.这个java类是全局的(不附加到任何活动).可能是什么导致了这个? 编辑:除了在应用程序启动期间,变量永远不会更改.我已经检查过调用它的函数永远不会被调用多次(adb logcat证明当我添加一个日志表明它正被调用时). 代码是这样的:class UserCore {class UserData{int ID;string ...

java – 如何在Spring中拦截静态方法?

主题行基本上都说明了一切.我有一个静态方法,我想拦截,以便可以应用它周围的建议.我可以使用任何非静态方法,但我不确定如何允许拦截静态方法.解决方法:你不能用Spring AOP做到这一点,因为它是基于代理的.你必须使用AspectJ.看看这个简单的例子:http://blog.jayway.com/2007/02/16/static-mock-using-aspectj/

java – 考虑提供静态工厂方法而不是构造函数

类允许客户端获取实例的常规方法是提供公共构造函数.另一种方法是提供一个公共静态工厂方法,它只是一个返回类实例的静态方法.使用静态工厂方法有什么利弊?解决方法:“有效Java”一书的这一章很好地解释了它:Consider Static Factory instead of Constructors.它以你能理解的最佳方式解释了它们的所有优点和缺点. 只是引用本书的优点和缺点: 好处: >静态工厂方法的一个优点是,与构造函数不同,它们具有名称.>静态工厂方法的第二个...

java – 由静态块中的thread.join()引起的死锁【代码】

我遇到了一个死锁场景,可以概括为下面显示的StaticDeadlock类. 这个简单的程序将冻结在o.getClass().这是我对发生的事情的猜测,但有人可以更好地解释一下吗? 1)程序进入StaticDeadlock静态块 2)线程启动 3)主线程等待线程完成,因此无法完成静态块 4)在线程内部访问StaticDeadlock.o但StaticDeadlock的静态块尚未完成.因此程序会冻结吗?public class StaticDeadlock{private static final Object o = new Object();static {MyThre...

java静态工具类如何调用service层的方法【图】

一般情况下工具类的方法都是写成静态的(static),这样用spring注入就会产生问题,注入进来的属性在调用时会报空指针异常所以不能用常规的注入 1,在工具类上加一个@Component注解,把它交给spring去管理2,先把需要调用的service注入进来,然后在用静态的注入一次3,@PostConstruct注解在完成依赖注入之后执行 4,执行顺序Constructor > @Autowired > @PostConstruct

java – RestTemplate应该是静态全局声明的吗?【代码】

我在我的代码中使用Java Callable Future.下面是我使用未来和callables的主要代码 – public class TimeoutThread {public static void main(String[] args) throws Exception {ExecutorService executor = Executors.newFixedThreadPool(5);Future<String> future = executor.submit(new Task());try {System.out.println("Started..");System.out.println(future.get(3, TimeUnit.SECONDS));System.out.println("Finished!");} c...

java – 为什么静态方法不被认为是优秀的OO实践?【代码】

我正在阅读Programming Scala.在第4章的开头,作者评论说Java支持静态方法,这些方法是“不那么纯粹的OO概念”.为什么会这样?解决方法:迄今为止尚未提及的静态方法不是非常OO的一个原因是接口和抽象类仅定义非静态方法.因此静态方法不适合继承. 另请注意,静态方法无法访问“super”,这意味着静态方法无法在任何真实意义上被覆盖.实际上,它们根本无法被覆盖,只能被隐藏.尝试这个:public class Test {public static int returnValue(...

FINAL - 相关标签