Tag: static

在jdk 8中定义接口上的静态(非inheritance)方法的正确语法是什么?

虚拟扩展方法/ aka默认的可覆盖方法的语法(在jdk 8中)有详细记录: public interface Foo { default void bar(String out) { System.out.println(out); }; } 但我找不到任何关于接口上静态非inheritance方法的正确语法的参考?

在抽象类中使用main方法

我知道在抽象类中使用main方法是合法的,因为Eclipse允许我执行以下操作并将该类作为java应用程序运行。 但做这样的事情有意义吗? 是否存在一个真实的场景,需要在抽象类中使用main方法? public abstract class Automobile { public Boolean powerOn() { // generic implementation for powering on an automobile return true; } public void move() { // generic implementation for move } public void changeDirection(String newDir) { // generic implementation for changing direction } public abstract void accelerate(Integer changeInSpeed); public abstract Integer refuel(Integer inputFuel); […]

为什么在使用null引用访问静态时不会出现NullPointerException?

在下面的代码中,我们在null引用上获得i的值,尽管NPE不存在。 public class Test { static int i = 10; Test getTest() { return null; } public static void main(String args[]) { Test t = new Test(); System.out.println(t.getTest()); System.out.println(t.getTest().i); } } 产量 null 10

Java 8中的Java“静态导入”与“导入静态”

我试图在Java上使用静态导入,但我写错了 static import java.lang.System.out; 并编译代码(虽然找不到“out”符号),没有语法错误。 那么,“静态导入”实际上意味着什么呢?

从另一个类访问静态变量

我在同一个包中有两个类。 我在一个类中声明了一个static variable ,并希望在另一个类中访问该变量。 这是我已经声明了静态变量的代码 public class wampusGUI extends javax.swing.JFrame { static String userCommand; public wampusGUI() { initComponents(); } public void setTextArea(String text) { displayTextArea.append(text); } private void enterButtonActionPerformed(java.awt.event.ActionEvent evt) { userCommand = commandText.getText(); } public static void main(String args[]) { /* Create and display the form */ java.awt.EventQueue.invokeLater(new Runnable() { public void run() { […]

Java中静态{…}的c#等价物是什么?

在Java中我可以写: public class Foo { public static Foo DEFAULT_FOO; static { DEFAULT_FOO = new Foo(); // initialize DEFAULT_FOO.init(); } public Foo() { } void init() { // initialize } } 如何在C#中获得相同的function(静态成员在使用前初始化)? 并且,如果尝试这样做是件坏事,那么更好的方法是什么?

静态嵌套类可以多次实例化吗?

鉴于我所知道的其他类型的静态编程function – 我认为答案是“不”。 但是,看到像OuterClass.StaticNestedClass nestedObject = new OuterClass.StaticNestedClass();这样的语句OuterClass.StaticNestedClass nestedObject = new OuterClass.StaticNestedClass(); 我好疑惑。

记录器应该是最终的和静态的吗?

可以从许multithreading访问类。 在这种情况下必须是记录器也是最终的和静态的吗? 谢谢。

Java:返回类(不是实例)

是否可以在静态方法中返回一个类? 我会解释… 我有: public class A { public static void blah(){} } public class B { } 我想在B中创建一个静态方法返回A 所以你可以这样做: A.blah(); 和 B.getA().blah(); 这样,无需创建A的实例。 只需使用它静态方法。 这可能吗?

为什么我们不能通过类名在静态块中设置静态最终变量的值

例如,考虑下面的代码捕捉: public static final int a; public static final int b; static { a = 8; // it’s working Test.b = 10; // compilation error Test.b cannot be assigned. } 为什么我们不能使用Test.b = 10; 在Test类本身的静态块内? 如果没有class级名称,它的工作正常。 这背后有什么理由吗?