标签: static

是否应在UPPER-CASE中声明"静态最终记录器"?

在Java中,静态最终变量是常量,惯例是它们应该是大写的.但是,我已经看到大多数人声称记录器是小写的,这在PMD中是违规的.

例如:

private static final Logger logger = Logger.getLogger(MyClass.class);
Run Code Online (Sandbox Code Playgroud)

只需搜索谷歌SO搜索"静态最终记录器",你就会看到这个.

我们应该使用LOGGER吗?

java logging static final naming-conventions

232
推荐指数
7
解决办法
6万
查看次数

流动的网站是否值得制作?

我现在正在建立一个网站,我正在努力决定是否应该让它变得流畅.固定宽度的网站更容易制作,也更容易使它们看起来一致.

说实话,我个人更喜欢看流体网站延伸到我的显示器的整个宽度.我的问题来自这样一个事实:在大多数现代浏览器中,您可以控制并滚动鼠标滚轮以基本调整任何网站的大小.

那么创建一个值得麻烦的流畅网站呢?

html css layout static fluid

219
推荐指数
8
解决办法
8342
查看次数

为什么我不能继承静态类?

我有几个不需要任何州的课程.从组织的角度来看,我想把它们放到层次结构中.

但似乎我无法为静态类声明继承.

像这样的东西:

public static class Base
{
}

public static class Inherited : Base
{
}
Run Code Online (Sandbox Code Playgroud)

不管用.

为什么语言的设计者会关闭这种可能性?

c# inheritance static

216
推荐指数
3
解决办法
14万
查看次数

Java中的静态嵌套类,为什么?

我正在查看Java代码,LinkedList并注意到它使用了静态嵌套类Entry.

public class LinkedList<E> ... {
...

 private static class Entry<E> { ... }

}
Run Code Online (Sandbox Code Playgroud)

使用静态嵌套类而不是普通内部类的原因是什么?

我能想到的唯一原因是,Entry无法访问实例变量,因此从OOP的角度来看,它具有更好的封装.

但我认为可能有其他原因,也许是表现.可能是什么?

注意.我希望我的条款正确,我会称之为静态内部类,但我认为这是错误的:http://java.sun.com/docs/books/tutorial/java/javaOO/nested.html

java static class member

208
推荐指数
7
解决办法
11万
查看次数

如果私有帮助方法可以是静态的,那么它们应该是静态的

假设我有一个旨在实例化的类.我在类中有几个私有的"帮助器"方法,它们不需要访问任何类成员,并且只对它们的参数进行操作,返回结果.

public class Example {
   private Something member;

   public double compute() {
       double total = 0;
       total += computeOne(member);
       total += computeMore(member);
       return total;         
   }

   private double computeOne(Something arg) { ... }
   private double computeMore(Something arg) {... } 
} 
Run Code Online (Sandbox Code Playgroud)

有没有特别的理由指定computeOnecomputeMore作为静态方法 - 或任何特殊原因不?

将它们保持为非静态是最容易的,即使它们肯定是静态的而不会引起任何问题.

java methods static static-methods

197
推荐指数
10
解决办法
8万
查看次数

static关键字及其在C++中的各种用途

关键字static是一个在C++中具有多种含义的关键字,我发现它非常令人困惑,我永远无法理解它实际上应该如何工作.

根据我的理解,static存储持续时间,这意味着它在全局的情况下持续程序的生命周期,但是当你谈论本地时,它意味着它默认为零初始化.

C++标准对具有关键字的类数据成员说明了这一点static:

3.7.1静态存储持续时间[basic.stc.static]

3关键字static可用于声明具有静态存储持续时间的局部变量.

4应用于类定义中的类数据成员的关键字static为数据成员提供静态存储持续时间.

局部变量是什么意思?这是一个函数局部变量吗?因为还有一个当你声明一个本地函数时static,它只被初始化一次,它第一次进入这个函数.

它也只谈到关于类成员的存储持续时间,它是非实例特定的,那也是staticno 的属性?或者是存储持续时间?

那么static和文件范围的情况如何呢?是否所有全局变量都被视为默认具有静态存储持续时间?以下(来自第3.7.1节)似乎表明:

1所有没有动态存储持续时间,没有线程存储持续时间且不是本地的变量都具有静态存储持续时间.这些实体的存储应持续该计划的持续时间(3.6.2,3.6.3)

如何static与变量的链接相关?

整个static关键字是彻头彻尾的混乱,有人可以澄清英语的不同用途,并告诉我何时初始化一个static类成员?

c++ static

186
推荐指数
6
解决办法
16万
查看次数

使用反射调用静态方法

我想调用main静态的方法.我得到了类型的对象Class,但我无法创建该类的实例,也无法调用该static方法main.

java reflection static

185
推荐指数
4
解决办法
14万
查看次数

ASP.NET中的请求或服务器的静态类实例是唯一的吗?

在ASP.NET网站上,是每个Web请求唯一的静态类,还是在需要时实例化它们并在GC决定处理它们时进行GC操作?

我问的原因是因为我之前在C#中编写了一些静态类,并且行为与我预期的不同.我希望静态类对每个请求都是唯一的,但似乎并非如此.

如果它们并非每个请求都是唯一的,那么有没有办法让它们成为现实?

更新:
答案给了我正是我所需要的.我已经在使用单例类,但是它使用的是一个静态实例,因此即使用户不同也在请求之间共享,在这种情况下这是一件坏事.使用HttpContext.Current.Items完美地解决了我的问题.对于任何在将来偶然发现这个问题的人来说,这是我的实现,简化和缩短,以便易于理解模式:

using System.Collections;
using System.Web;

public class GloballyAccessibleClass
{
    private GloballyAccessibleClass() { }

    public static GloballyAccessibleClass Instance
    {
        get
        {
            IDictionary items = HttpContext.Current.Items;
            if(!items.Contains("TheInstance"))
            {
                items["TheInstance"] = new GloballyAccessibleClass();
            }
            return items["TheInstance"] as GloballyAccessibleClass;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

c# asp.net static

179
推荐指数
3
解决办法
7万
查看次数

什么是C#中的"静态方法"?

将static关键字添加到方法时意味着什么?

public static void doSomething(){
   //Well, do something!
}
Run Code Online (Sandbox Code Playgroud)

你能把static关键字添加到课堂吗?那意味着什么?

c# methods static

172
推荐指数
5
解决办法
23万
查看次数

静态constexpr变量有意义吗?

如果我有一个函数(比方说,一个大阵列)内的变量,它是有意义的声明它既staticconstexprconstexpr保证数组是在编译时创建的,那么它会static没用吗?

void f() {
    static constexpr int x [] = {
        // a few thousand elements
    };
    // do something with the array
}
Run Code Online (Sandbox Code Playgroud)

static在生成的代码或语义方面,实际上是在做什么吗?

c++ static constexpr c++11

172
推荐指数
3
解决办法
7万
查看次数