【发布时间】:2018-12-14 00:59:13
【问题描述】:
我有以下两个类:
public class Prod
{
public void logon(){
System.out.println("'\u000CProd logon");
addUser();
}
public void addUser(){
System.out.println("Prod addUser");
}
}
public class Dev extends Prod
{
public void addUser(){
System.out.println("Dev addUser");
}
public static void main(String[] args){
Dev test = new Dev();
test.logon();
}
}
有没有办法让所有方法都是静态的,然后测试 Dev.addUser() 是否正常工作?
这是我想做的事情:
public class Prod
{
public static void logon(){
System.out.println("'\u000CProd logon");
addUser();
}
public static void addUser(){
System.out.println("Prod addUser");
}
}
public class Dev extends Prod
{
public static void addUser(){
System.out.println("Dev addUser");
}
public static void main(String[] args){
logon();
}
}
当我在 Dev 中运行 main() 时,我们应该得到:
产品登录
开发者添加用户
【问题讨论】:
-
使用“所有方法静态”发布代码。您要测试的方法是什么?你想模拟什么课程? (我假设你想模拟一些东西,因为你提到了 powermock)
-
问题不清楚,你想要什么?
-
test.logon() 将在第二种情况下抛出 NullPointerExcpetion .... 你能解释一下你的问题吗.. 对于静态方法,你称之为 Prod.logon()
-
@ketan,我同意您的评论不清楚。你不明白什么?
-
在第二个例子中它应该只是说 login()