Questions tagged «static»

静态是一些编程语言中使用的术语,用于定义未绑定到任何特定对象实例的函数或数据存储区域(字段)。在大多数情况下,如果使用此标签,则应与特定的编程语言标签结合使用。

5
在Eclipse中调试时修改/查看静态变量
根据问题。在调试视图中,有“变量”框架。它显示当前对象的成员变量的所有值以及所有局部变量,但不显示该对象类的任何静态变量。 我怎么去这些? 一些谷歌搜索建议我按下工具栏上的按钮,但是“显示类型名称”,“逻辑结构”和“全部折叠”(Eclipse 3.4.2)除外,“变量”框架的工具栏上什么也没有。 有什么建议吗?

1
Java中的静态分配-堆,堆栈和永久生成
最近,我一直在阅读有关Java中的内存分配方案的大量文章,并且由于我从各种来源中进行了阅读,所以存在很多疑问。我已经收集了我的概念,并要求仔细阅读所有要点并对其进行评论。我知道内存分配是特定于JVM的,因此我必须事先说一下,我的问题是特定于Sun的。 类(由类加载器加载)放在堆上的特殊区域中:永久生成 与类有关的所有信息,例如类的名称,与该类关联的对象数组,JVM使用的内部对象(例如java / lang / Object)以及优化信息,都进入“永久生成”区域。 所有静态成员变量将再次保留在永久生成区域中。 对象放在不同的堆上:年轻的一代 每个类每个方法只有一个副本,该副本是静态的还是非静态的。该副本将放置在“永久生成”区域中。对于非静态方法,所有参数和局部变量都进入堆栈-每当对该方法进行具体调用时,我们都会获得一个与之关联的新堆栈框架。我不确定静态方法的局部变量存储在哪里。他们在永久一代的堆上吗?或者只是它们的引用存储在“永久生成”区域中,而实际副本位于其他位置(在哪里?) 我也不确定方法的返回类型存储在哪里。 如果对象(年轻一代)需要使用静态成员(永久一代),则为它们提供对静态成员的引用&&为它们提供足够的存储空间以存储方法的返回类型等。 谢谢你的经历!

2
在ASP.NET MVC的静态字段内使用Server.MapPath()
我正在建立一个ASP.NET MVC网站,在其中使用Lucene.Net进行搜索查询。我在这里问了一个有关如何在ASP.NET MVC应用程序中正确构造Lucene.Net用法的问题,并被告知最好的方法是将my声明为IndexWriteras public static,以便可以重新使用它。 这是我的SearchController顶部的一些代码: public static string IndexLocation = Server.MapPath("~/lucene"); public static Lucene.Net.Analysis.Standard.StandardAnalyzer analyzer = new Lucene.Net.Analysis.Standard.StandardAnalyzer(); public static IndexWriter writer = new IndexWriter(IndexLocation,analyzer); 由于writer是静态的,IndexLocation因此也必须是静态的。因此,编译器给我以下错误Server.MapPath(): 非静态字段,方法或属性“ System.Web.Mvc.Controller.Server.get”需要对象引用。 有没有一种方法可以使用Server.MapPath()或类似的静态字段?如何解决此错误?


3
静态类初始化何时发生?
静态字段何时初始化?如果我从不实例化一个类,而是访问一个静态字段,那么用于实例化私有静态字段的所有静态块和私有静态方法是否在那个瞬间被调用(按顺序)? 如果我调用静态方法怎么办?它也运行所有静态块吗?之前的方法?

7
函数内部的“ static”关键字?
我正在查看Drupal 7的资源,发现了一些以前从未见过的东西。我在php手册中做了一些初步的了解,但没有解释这些示例。 关键字static对函数内部的变量有什么作用? function module_load_all($bootstrap = FALSE) { static $has_run = FALSE
110 php  function  static  keyword 

8
如何使用反射获取静态属性
因此,这似乎很基本,但我无法正常工作。我有一个对象,并且正在使用反射来获取它的公共属性。这些属性之一是静态的,我没有运气。 Public Function GetProp(ByRef obj As Object, ByVal propName as String) as PropertyInfo Return obj.GetType.GetProperty(propName) End Function 上面的代码对于公共实例属性运行良好,到目前为止,这只是我所需要的。可以使用BindingFlags来请求其他类型的属性(私有,静态),但是似乎找不到正确的组合。 Public Function GetProp(ByRef obj As Object, ByVal propName as String) as PropertyInfo Return obj.GetType.GetProperty(propName, Reflection.BindingFlags.Static Or Reflection.BindingFlags.Instance Or Reflection.BindingFlags.Public) End Function 但仍然,请求任何静态成员均不返回任何内容。.NET反射器可以很好地看到静态属性,因此很明显我在这里缺少一些东西。
109 .net  reflection  static 

9
静态修饰符如何影响此代码?
这是我的代码: class A { static A obj = new A(); static int num1; static int num2=0; private A() { num1++; num2++; } public static A getInstance() { return obj; } } public class Main{ public static void main(String[] arg) { A obj = A.getInstance(); System.out.println(obj.num1); System.out.println(obj.num2); } } 输出为1 0,但我听不懂。 …
109 java  static 

6
PHP静态函数
我对php中的静态功能有疑问。 假设我有一堂课 class test { public function sayHi() { echo 'hi'; } } 如果我这样做,test::sayHi();那就没问题了。 class test { public static function sayHi() { echo 'hi'; } } test::sayHi(); 也可以。 头等舱和二等舱有什么区别? 静态函数有什么特别之处?
108 php  class  static  member 

7
在类定义中定义静态const整数成员
我的理解是,C ++允许在类内部定义静态const成员,只要它是整数类型即可。 那么,为什么以下代码给我一个链接器错误? #include <algorithm> #include <iostream> class test { public: static const int N = 10; }; int main() { std::cout << test::N << "\n"; std::min(9, test::N); } 我得到的错误是: test.cpp:(.text+0x130): undefined reference to `test::N' collect2: ld returned 1 exit status 有趣的是,如果我注释掉对std :: min的调用,则代码可以编译并很好地链接(即使在上一行中也引用了test :: N)。 关于发生了什么的任何想法? 我的编译器是Linux上的gcc 4.4。

10
如何在C ++中初始化私有静态const映射?
我只需要字典或关联数组string=>即可int。 这种情况下有类型映射C ++。 但是对于所有实例,我只需要一个映射(->静态),并且该映射不能更改(-> const); 我已经在Boost库中找到了这种方式 std::map<int, char> example = boost::assign::map_list_of(1, 'a') (2, 'b') (3, 'c'); 没有这个库,还有其他解决方案吗?我已经尝试过类似的方法,但是地图初始化总是存在一些问题。 class myClass{ private: static map<int,int> create_map() { map<int,int> m; m[1] = 2; m[3] = 4; m[5] = 6; return m; } static map<int,int> myMap = create_map(); };

13
C#中静态变量的用途是什么?什么时候使用?为什么我不能在方法内部声明静态变量?
我已经在C#中搜索了静态变量,但是我仍然不了解它的用途。另外,如果我尝试在方法内部声明变量,则不会授予我执行此操作的权限。为什么? 我看过一些有关静态变量的例子。我已经看到我们不需要创建类的实例来访问变量,但这不足以了解其用途以及何时使用它。 第二件事 class Book { public static int myInt = 0; } public class Exercise { static void Main() { Book book = new Book(); Console.WriteLine(book.myInt); // Shows error. Why does it show me error? // Can't I access the static variable // by making the instance of a …

1
调用静态通用方法
我遇到了一个涉及静态泛型方法的奇怪情况。这是代码: class Foo<E> { public static <E> Foo<E> createFoo() { // ... } } class Bar<E> { private Foo<E> member; public Bar() { member = Foo.createFoo(); } } 我为什么不必在表达式中指定任何类型参数Foo.createFoo()?这是某种类型推断吗?如果要对此明确,如何指定类型参数?

21
*可以*是静态的C#方法应该是静态的吗?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 可以是静态的C#方法应该是静态的吗? 我们今天在讨论这个问题,我有点担心。想象一下,您有一个很长的方法需要重构几行。新方法可能会从父方法中获取一些局部变量并返回一个值。这意味着它可能是静态的。 问题是:它应该是静态的吗?它在设计或选择上不是静态的,仅就其本质而言,因为它不引用任何实例值。
103 c#  static  methods 


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.