相关疑难解决方法(0)

"非静态方法无法从静态上下文中引用"背后的原因是什么?

非常常见的初学者错误是当您尝试"静态"使用类属性而不创建该类的实例时.它会留下您提到的错误消息:

您可以将非静态方法设为静态,也可以使该类的实例使用其属性.

为什么?我不是要求解决方案.我很高兴知道它背后的原因是什么.核心原因!

private java.util.List<String> someMethod(){
    /* Some Code */
    return someList;            
}

public static void main(String[] strArgs){          
     // The following statement causes the error. You know why..
    java.util.List<String> someList = someMethod();         
}
Run Code Online (Sandbox Code Playgroud)

java static

259
推荐指数
7
解决办法
61万
查看次数

为什么不通过实例调用静态方法为Java编译器的错误?

我相信你们都知道我的意思 - 代码如下:

Thread thread = new Thread();
int activeCount = thread.activeCount();
Run Code Online (Sandbox Code Playgroud)

引发编译器警告.为什么不是错误?

编辑:

要明确:问题与Threads无关.我意识到在讨论这个问题时经常给出Thread示例,因为它们可能真的搞砸了它们.但问题确实是这样的使用总是无稽之谈,你不能(胜任地)写出这样的电话并且意味着它.这种类型的方法调用的任何例子都是barmy.这是另一个:

String hello = "hello";
String number123AsString = hello.valueOf(123);
Run Code Online (Sandbox Code Playgroud)

这使得它看起来好像每个String实例都带有"String valueOf(int i)"方法.

java methods static

75
推荐指数
4
解决办法
3万
查看次数

如果没有对象实例,Java的Hello World如何工作?

我是Java的新手,我对某些事感到困惑:

在Java中的简单hello world程序中,没有创建任何对象,所以该类在以下示例中如何工作?

public class HelloWorld 
{  
    public static void main (String args[]) 
    {  
        System.out.println ("Hello World!");  
    }  
}
Run Code Online (Sandbox Code Playgroud)

java

8
推荐指数
3
解决办法
2511
查看次数

Java中的静态类有什么用?

我已经读过我可以定义一个类static,但我不明白为什么我可能需要这样做.静态类有什么用?我什么时候需要使用它们?我会很感激的例子.

java static class

2
推荐指数
1
解决办法
1186
查看次数

标签 统计

java ×4

static ×3

class ×1

methods ×1