相关疑难解决方法(0)

'static'关键字在一个类中做什么?

具体来说,我正在尝试这段代码:

package hello;

public class Hello {

    Clock clock = new Clock();

    public static void main(String args[]) {
        clock.sayTime();
    }
}
Run Code Online (Sandbox Code Playgroud)

但它给出了错误

无法访问静态方法main中的非静态字段

所以我把声明改为clock:

static Clock clock = new Clock();
Run Code Online (Sandbox Code Playgroud)

它奏效了.在声明之前放置该关键字是什么意思?对于该对象可以做什么,它究竟会做什么和/或限制什么?

java oop static language-features restriction

432
推荐指数
16
解决办法
80万
查看次数

什么是成员变量?它和实例变量一样吗?

什么是成员变量?成员变量和实例变量是一回事吗?

实例变量是在类中声明并在整个代码中访问的变量,对吗?

java variables member-variables

3
推荐指数
2
解决办法
3307
查看次数

C# 中类变量和实例变量的区别

我正在完成基础编程课程,但我无法理解类变量和实例变量(静态和非静态)之间的区别。我需要在代码中确定两者之间的区别

\n\n
Class StudentDetails\n{\nInt rollNumber;\nString studentName;\n}\nStudentDetails firststudent= StudentDetails (19236, \xe2\x80\x9dThomas\xe2\x80\x9d);\n
Run Code Online (Sandbox Code Playgroud)\n\n

我相信 rollNumber、studentName、19236 和“Thomas”都是实例变量,firststudent 是类变量。

\n\n

任何有关这方面的帮助将不胜感激,因为课程材料不是很有帮助。

\n

c# instance-variables static-variables class-variables

0
推荐指数
1
解决办法
5621
查看次数

为什么这个具有相同类的实例变量的类会导致StackOverflowError,而类似的类与相同类型的静态变量不相同?

我的问题与另一个问题有关:如何在类本身内部创建类的实例?

我创建了两个类,如下所示:

class Test {
  Test buggy = new Test();
  public static void main (String[] args) {
    Test test = new Test();
    System.out.println("Done");
  }
}
Run Code Online (Sandbox Code Playgroud)

而另一个:

class Test {
  static Test buggy = new Test();
  public static void main (String[] args) {
    Test test = new Test();
    System.out.println("Done");
  }
}
Run Code Online (Sandbox Code Playgroud)

我不明白为什么第一个代码(没有静态变量)给出了堆栈溢出错误但是当我声明实例变量是静态的(第二种情况)时我没有错误.static关键字在这里有什么区别?

java

-4
推荐指数
1
解决办法
95
查看次数