【java – 静态方法和非静态方法有什么区别?】教程文章相关的互联网学习教程文章

java-公共静态方法-一个不好的迹象吗?

我刚刚在这里阅读了这篇文章:http://hamletdarcy.blogspot.com/2008/04/10-best-idea-inspections-youre-not.html,尤其是最后一点让我考虑了我的代码,特别是建议:What in the world is a public method doing on your object that has no dependency on any fields within the object? This is certainly a code smell. The problem is that the “auto-fix” for the inspection is to apply the static keyword. Nooooo. That’...

java-反射:以静态方法获取调用对象【代码】

是否有可能在该方法中获得调用静态方法的对象? 我有以下代码:class A{static void foo(){} } A a = new A(); a.foo();我可以在foo()方法中获取实例a吗?解决方法:首先,您的代码不适合作为程序员. 这是因为静态方法是类级别的方法,应该在没有任何类实例的情况下进行调用. 推荐方法:class A{static void foo(){} } A.foo();Can I get instance a in method foo() ?不,你不能. Because foo() is declared as static.所以您不能在该...

java-无法从静态内容引用非静态方法【代码】

我无法编译以下代码:public class Test {public static void main (String [] args ){int a = calcArea(7, 12);System.out.println(a);}int calcArea(int height, int width) {return height * width;} }出现以下错误:Non-static method calcArea(int, int) cannot be referenced from static content这是什么意思?我该如何解决该问题..? 编辑: 根据您的建议,我创建了一个实例,它是新的test(),如下所示:public class Test {i...

无法从java 8流中的静态上下文引用非静态方法【代码】

我正在玩http://www.concretepage.com/java/jdk-8/java-8-unaryoperator-binaryoperator-example的例子. 我发现真正令人困惑的是,当我在形成收集器时错误地将错误的类型放入泛型中时,java编译器给了我一个非常误导性的消息:Non-static method cannot be referenced from a static context我的错误与现实中的静态vs实例上下文无关:Map<String, Map<Integer, Integer>> mapOfStudents = list.stream().collect(Collectors.grouping...

java – 无法调用非静态方法【代码】

参见英文答案 > cannot make a static reference to a non static method 5个我正在尝试使用此wavRead(文件名),但我得到的消息无法对非静态方法进行静态引用. 我可以简单地让它静止,并解决我的问题,但如果不走那条路,怎么办呢.我想保持方法非静态. 这里有一些代码可以让你看到发生了什么:public class Sound {double [] mySamples; public static void main(String[] args){String filename =...

java – 针对静态方法的doAnswer – PowerMock【代码】

我正在使用的一种静态方法,它做了两件事.它返回一些数据,但它也修改传递给它的参数对象.然后在代码中使用此更新的参数对象. 我正在使用PowerMock来模拟返回行为. 为了定义第二部分 – 更新输入参数,我正在定义doAnswer方法,但它不起作用.我正在尝试测试的方法看起来像这样.public void login() throws ConnectionException, AsyncApiException {ConnectorConfig partnerConfig = new ConnectorConfig();//This call sets the value...

使用Java静态方法中的“today”和“yesterday”字符串简化日期对象的替换【代码】

我有以下方法,我想更短或更快,如果没有别的.欢迎所有评论: Bellow方法接受一个日期对象,形成它(“EEE hh:mma MMM d,yyyy”),然后确定日期是今天还是昨天,如果是,则返回“(昨天|今天)hh:mma “格式化的字符串.public static String formatToYesterdayOrToday(String date) {SimpleDateFormat sdf = new SimpleDateFormat("EEE hh:mma MMM d, yyyy");Date in = null;try {in = sdf.parse(date);} catch (ParseException e) {log.d...

Java中的静态初始化器和静态方法【代码】

在Java中调用类上的静态方法是否会触发静态初始化块来执行? 根据经验,我会说不.我有这样的事情:public class Country {static {init();List<Country> countries = DataSource.read(...); // get from a DAOaddCountries(countries);}private static Map<String, Country> allCountries = null;private static void init() {allCountries = new HashMap<String, Country>();}private static void addCountries(List<Country> coun...

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 – 从其他类调用非静态方法【代码】

我正在完成我的任务,并遇到了一些错误.在一个班级我有这个方法: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 – 如何在Spring中拦截静态方法?

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

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

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

Java错误:无法对非静态方法进行静态引用【代码】

我正在编写一个Android应用程序并收到此错误,但我不确定原因.有人可以帮我理解为什么我会收到这个错误吗?Cannot make a static reference to the non-static method updateScores(List<Score>) from the type DatabaseHandler这是相关的代码.public class ScoreList extends SherlockFragmentActivity {List<Score> listScore = new ArrayList<Score>();public void updateListView() {listViewScore.setAdapter(new ScoreListAda...

java – 通过对象“bad form”调用静态方法?为什么?【代码】

在最近的一个问题中,有人问过静态方法,其中一个答案表明你通常会用以下方法调用它们:MyClassName.myStaticMethod();对此的评论还表明你也可以通过一个对象来调用它:MyClassName myVar; myVar.myStaticMethod();但它被认为是不好的形式. 现在在我看来,这样做实际上可以让我的生活更轻松,所以我不必担心什么是静态的(a). 通过对象调用静态函数有问题吗?显然你不想创建一个全新的对象来调用它:Integer xyzzy; int plugh = xyzzy.p...

静态方法 - 相关标签