这是我有的代码: public class StupidClass { static { System.out.println("Stupid class loaded!"); } } 和我有的testing,我分开运行。 import org.junit.Test; public class StupidTest { @Test public void foo() throws ClassNotFoundException { final Class<?> stupidClass = Class.forName("StupidClass"); System.out.println(stupidClass.getSimpleName()); } @Test public void bar() throws ClassNotFoundException { final Class<StupidClass> stupidClassClass = StupidClass.class; System.out.println(stupidClassClass.getSimpleName()); } } 当我运行testingfoo时,我会看到: Stupid class loaded! StupidClass 但是当我运行testing栏时,我所看到的是: StupidClass […]
任何人都可以解释Java如何执行这个代码? 我的意思是执行每个语句的顺序。 public class Foo { boolean flag = sFlag; static Foo foo = new Foo(); static boolean sFlag = true; public static void main(String[] args) { System.out.println(foo.flag); } } OUTPUT: false
可能吗? 我想设置两个不同的目录来提供静态文件。 比方说/ public和/ mnt
使用Resharper 4.1,我遇到了这个有趣的警告:“通过派生types访问types的静态成员”。 以下是发生这种情况的代码示例: class A { public static void SomethingStatic() { //[do that thing you do…] } } class B : A { } class SampleUsage { public static void Usage() { B.SomethingStatic(); // <– Resharper warning occurs here } } 有人通过B使用A的静态成员知道有什么问题(如果有的话)吗?
public class A { private static final int x; public A() { x = 5; } } final意味着variables只能被赋值一次(在构造函数中)。 static意味着它是一个类实例。 我看不出为什么这是禁止的。 这些关键字在哪里互相干扰?
可能重复: 新的自我与新的静态 在下面的例子中,使用self和static什么区别? class Foo { protected static $bar = 1234; public static function instance() { echo self::$bar; echo "\n"; echo static::$bar; } } Foo::instance(); 产生 1234 1234
我正在查看Drupal 7的源代码,并且发现了一些我以前没见过的东西。 我在php手册中做了一些初步的工作,但没有解释这些例子。 关键字static对函数内部的variables有什么作用? function module_load_all($bootstrap = FALSE) { static $has_run = FALSE
我想在我的“.m”文件的顶层创build一个常量静态数组,用于整个Objective-C实现文件,类似于这样的东西: static const int NUM_TYPES = 4; static int types[NUM_TYPES] = { 1, 2, 3, 4 }; 我打算在后面的文件中使用NUM_TYPES ,所以我想把它放在一个variables中。 但是,当我这样做,我得到的错误 在文件范围“可变修改”types“ 我认为这可能与作为variables的数组大小有关(当我在那里放置一个整型文字时,我不会得到这个消息,就像static int types[4] )。 我想解决这个问题,但也许我错了……我在这里有两个目标: 有一个可以在整个文件中访问的数组 要将NUM_TYPES封装到一个variables中,所以我没有在文件中散布相同的文字 有什么build议么? [编辑]在C常见问题中find这个: http : //c-faq.com/ansi/constasconst.html
我想弄清楚如何声明一个静态variables作用域本地只是一个函数在Swift中。 在C中,这可能看起来像这样: int foo() { static int timesCalled = 0; ++timesCalled; return timesCalled; } 在Objective-C中,它基本上是一样的: – (NSInteger)foo { static NSInteger timesCalled = 0; ++timesCalled; return timesCalled; } 但是我似乎无法在Swift中做这样的事情。 我试过用以下方法声明variables: static var timesCalledA = 0 var static timesCalledB = 0 var timesCalledC: static Int = 0 var timesCalledD: Int static = 0 但是这些都会导致错误。 第一个抱怨“静态属性只能在types上声明”。 第二个抱怨“预期声明”( static是)和“预期模式”(其中timesCalledB是) […]
Waaah,玩! 框架有这么多的静态方法。 我在哪里上学,我们被告知永远不会使用任何静力学,但玩! 像没有明天一样使用它。 那好吗? 如果是这样,为什么? 我们(7人和我)正计划使用Play! 涉及Web应用程序的项目框架。 我们决定用Play来做! 因为看起来相当有趣,我们所有人都已经知道了Java,而且这个任务非常困难,所以我们想把重点放在实际的任务上,而不是学习如何用不同的语言编程。 我们总是被告知,但是, 永远不要在我们开发的任何Java程序中使用'static',但是当我看着Play! 呃…大约有一半的方法是静态的 </夸张> 我想,至less我们可以使用单例对象(通过使用Scala,例如^^)来编程我们的项目,但是我非常关心框架本身实际上有多less静态的。 那么,我应该关心这个吗? 玩的方式! 开发人员编程,使所有这些静态不会造成问题? (例如, 这个线程有一个关于为什么静态成员应该不惜一切代价避免咆哮。