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

java-播放!框架-将Map传递到同一控制器中的另一个公共静态方法【代码】

外部路由在控制器中命中此方法:public static void externalRouteHit() {Map<String, String> myParams = request.params.allSimple();redirectedRoute(myParams); }然后,我尝试将Map传递到同一控制器中的另一个方法,但是它为null.public static void redirectedRoute(Map<String, String> myParams) {if (myParams == null)Logger.info("WTF");}我可以传递字符串或布尔值.我究竟做错了什么?解决方法:如果要从一个控制器调用另一...

在Java中调用非静态方法之前创建实例

嗨,有人可以向我解释为什么在Java中的主函数调用非静态方法之前必须创建实例吗?这背后的原因是什么?解决方法:因为它们是实例成员,所以要访问它们,您需要实例.When a number of objects are created from the same class blueprint, they each have their own distinct copies of instance variables. In the case of the Bicycle class, the instance variables are cadence, gear, and speed. Each Bicycle object has its own ...

Java静态方法调用的效率

我的教授说,每当我使用某个类中的静态方法时,整个类都会加载到内存中,然后执行该方法. 我的问题是:如果一个类包含100个方法和50个不同的变量,并且如果我从该类中调用了一个静态方法,则整个类(100个方法和50个变量)会加载到内存中,这在内存和性能方面效率低下. java如何处理此类问题?解决方法:是的,当您调用静态方法时(但不是每次都加载),将加载类字节码.当调用非静态方法时,也会发生同样的情况.在后一种情况下,还必须创建一个实例...

java-无法在公共类中调用公共静态方法

我一直在尝试使用Android的内置ThumbnailUtils类为图像和视频生成缩略图.通过createVideoThumbnail(..)方法可以正确成功地生成视频缩略图.但是,我什至不能调用相关方法createImageThumbnail.两种方法都声明为public和static.这是来源的github link. 在Java中如何限制客户端选择性地使用公共静态方法? [编辑]:有关使用Android的内部/隐藏方法的更多信息,请参见this link:解决方法:createImageThumbnail的文档包含@hide,这使其无法...

java-静态方法中的Spring context null【代码】

我正在尝试在Spring MVC-Hybris Application中使用spring应用程序上下文,但是它始终为null.public class FlexSelector{ protected static final ApplicationContext ctx = Registry.getApplicationContext();protected static final PropertiesReader getPropertiesReader(){ return (PropertiesReader) ctx.getBean("serviceExtensionPropertiesReader"); }protected static final SearchRestrictionService getSearchRestriction...

扩展Java中静态方法返回的对象【代码】

我有以下问题. 我有一个库类的静态方法(无法更改),如下所示:Loader.loadModel()它返回一个Model类型的对象. 我还创建了一个名为ExtendedModel的Model子类,该子类向Model添加了一些方法和某些字段. 我不能做:ExtendedModel m = Loader.loadModel() //compiler error ExtendedModel m = (ExtendedModel) Loader.loadModel() //ClassCastException at runtime因为在Java中,您不能将超类的对象分配给子类. 但是,我想知道:这是将方法...

java-模拟多次调用的静态方法【代码】

我有一个静态方法,该方法在多个地方使用,主要是在静态初始化块中使用.它以Class对象为参数,并返回该类的实例.我只想在将特定的Class对象用作参数时模拟此静态方法.但是,当从其他地方使用不同的Class对象调用该方法时,它将返回null.如果参数不是模拟参数,我们如何让静态方法执行实际实现?class ABC{void someMethod(){Node impl = ServiceFactory.getImpl(Node.class); //need to mock this callimpl.xyz();} }class SomeOtherClas...

JAVA中对null进行强制类型转换(null可以强转为任意对象,并执行对象的静态方法)

今天很好奇,对null进行强转会不会抛错。做了如下测试得到的结果是, 如果把null强转给对象,是不会抛异常的,本身对象是可以为null的。 但是如果是基本类型,比如 int i = (Integer)obj的强转,其实内部会调用intvalue方法去赋值给基本类型,所以这时候是会报错的。 代码如下 Object obj = null;Integer s1 = (Integer)obj; 上面能正常执行,即把null赋值给一个对象或者强行类型转换赋值给对象都是没有问题的。如果s1是 int的...

Java 静态方法、私有方法、常量的使用【图】

1、静态方法 2、私有方法 3、常量 4、接口小结

java-减少静态方法的可见性

我知道孩子不能降低非静态方法的可视性,而且我理解为什么会这样. 但是,我读过“可以通过重新声明静态方法来隐藏它”.但是我不明白如何用Java实现. 这真的有可能吗?如果是,该如何做(代码示例)以及为什么要引入它(这似乎与不降低接口可见性的原理相矛盾)?解决方法:简短的答案是:不,不可能.您混淆了一些术语.隐藏与可访问性无关(这是您真正要问的,而不是可见性,它与范围和阴影有关,并在Chapter 6 of the Java Language Specificati...

NoSuchMethodError-没有静态方法比较(java / util / Comparator)【代码】

我正在Android设备上使用Gluon从java.util中对列表进行排序.即使分配了8GB,该应用程序也无法针对iOS进行编译(内存不足),但这是另一个问题. classpath’org.javafxports:jfxmobile-plugin:1.3.4′ 编译’com.gluonhq:charm:4.3.2′ jfxmobile版本=’3.2.4′ 这行导致崩溃: highscoreList.sort(comparing(Highscore :: getScore).reversed()); //#8903-22 09:42:14.709 27312 27337 E AndroidRuntime: FATAL EXCEPTION: JavaFX ...

java-尝试使用IntStream.range()并获取“只能访问此静态方法……”【代码】

我正在使用IBM JVM 8和Eclipse.我想要一个整数范围内的迭代器. 所以我尝试使用IntStream.range()并得到一个奇怪的错误.现在,我删除了迭代器部分,以获取问题的最小示例.此行导致错误:IntStream range = IntStream.range(0,max);错误是:接口IntStream的此静态方法只能以IntStream.range的形式访问 但这不是我已经在访问它吗?如何使它正常工作而不产生错误? (当然,我可以使用循环代替迭代器,但是迭代器会更整洁).解决方法:参考Int...

android-应用程序中的JNI检测到错误:JNI FindClass调用,带有未决异常java.lang.NoSuchMethodError:没有非静态方法“ Lchirpconnect / SD【代码】

我正在使用Chirp Android SDK通过声音共享数据,它的运行效果很好. 但是,当我启用我的proguard时,就会抛出此JNI异常,我尝试了多种方法来克服此问题,例如在proguard文件中添加proguard规则,请参见:-keep class io.chirp.connect.Chirpconnect { *; } -keep class chirpconnect.Chirpconnect { *; } -keepclasseswithmembernames class * {native methods; }但是找不到任何解决方案吗? 我刚刚在libs文件夹中添加了一个chirp SDK AAR...

解决没有Double Dispatch / Visitor模式的Java静态方法分派【代码】

我正在使用提供以下方法的Foo类:String overloadedMethod(Object) String overloadedMethod(Goo)由于Java静态地基于non-receiver参数进行分派,因此我不能只传递我的值(它是一个Object,但可能具有动态类型Goo)并依靠JVM动态地选择“正确”方法. 这是我当前的(丑陋的)解决方法:Object value = ...; Foo foo = new Foo(); if (value instanceof Goo) {Goo gooValue = (Goo) value;return foo.overloadedMethod(gooValue); // -> ove...

java-OSGI-跨包的静态方法调用【代码】

我有一个第三方JAR,我已使用bnd将其转换为OSGI捆绑包.我需要从自己的软件包中调用以使用它的代码如下所示:ThirdParty.setRegKey(myRegKey); ThirdParty thirdParty = new ThirdParty(); thirdParty.callMethod();似乎引起我麻烦的是第一行-静态方法调用.在OSGI容器之外,使用标准JAR,可以正常工作.但是,在OSGI内部,第3行出现错误,指出未设置注册密钥. 这样的捆绑软件中的静态方法调用是否存在任何问题?就像静态上下文没有在包中共...

静态方法 - 相关标签