标签: non-static

Java认为方法是静态的?

出于某种原因,当我尝试从动作中的另一个类调用非静态方法时,我得到一个错误,说我不能在静态方法中调用非静态方法.但是,我从未将动作或其父母定义为静态.为什么我会收到此错误?

    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;

    public class KeyListenerFrame extends JFrame implements KeyListener {
      GridLayout gridLayout1 = new GridLayout();
      JPanel listenerPan = new JPanel();

      public KeyListenerFrame() {
        try {
          jbInit();
          listenerPan.addKeyListener(this);
          addWindowListener(new WindowAdapter() {
            public void windowClosing(WindowEvent e) {
              System.exit(0);
    }
  });      
  listenerPan.getInputMap().put(KeyStroke.getKeyStroke(KeyEvent.VK_PAGE_UP,0,true), "showKey");
  listenerPan.getActionMap().put("showKey", showKey);
  listenerPan.getInputMap().put(KeyStroke.getKeyStroke(KeyEvent.VK_D, 0, true), "showKey");

}
catch(Exception e) {
  e.printStackTrace();
        }
      }
      public static void main(String[] args) {
        KeyListenerFrame klf = new KeyListenerFrame();
        klf.setBounds(10,10,500,500);
        klf.setVisible(true);
        klf.focusPanel();

      }
      public void focusPanel() {
         listenerPan.requestFocus();
      }
      private …
Run Code Online (Sandbox Code Playgroud)

java methods static non-static

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

类方法中的随机数生成器

这是类类内部方法的一部分.我的目标是生成一个随机数,该数字将存储在名为iCell的变量中.之后,iCell将用于switch语句来更改字符,单元格.我从iCell = Random.Next(1,9);"错误,非静态字段,方法或属性'System.Random.Next(int,int)'"所需的对象引用的行中收到错误.在类方法中是否不可能有随机数生成器?

 public void CPUMove() //method marks cell for CPU
    char cell;
    int iCell;
    Random rand = new Random();
    iCell = Random.Next(1, 9);
    switch (iCell)
    {
        case 1:
            cell = '1';
        break;
        case 2:
            cell = '2';
        break;
        case 3:
            cell = '3';
        break;
        case 4:
            cell = '4';
        break;
        case 5:
            cell = '5';
        break;
        case 6:
            cell = '6';
        break;
        case 7:
            cell = '7';
        break;
        case 8:
            cell = '8';
        break;
        case 9:
            cell …
Run Code Online (Sandbox Code Playgroud)

c# random class non-static

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

当多个线程访问静态对象时,在非静态方法中使用静态对象是否安全?

我的班级看起来像这样:

public Class A {

     private static final ObjectMapper mapper = new ObjectMapper();

     public String get(String key) {
          JsonNode nod = mapper.readTree(getFromCache(key));
     }
}
Run Code Online (Sandbox Code Playgroud)

多个线程将访问此方法.我需要同步它吗?我是否需要在方法中移动映射器?

java static multithreading non-static

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

关于静态和非静态方法

我知道静态意味着变量或方法属于类本身,我们可以将它与ClassName.StaticMethodName一起使用.所以问题是:我们可以在另一个非静态方法中使用非静态方法,但我们不能在静态方法中使用非静态方法.我只是不明白为什么我们可以在另一个非静态方法中使用非静态方法?我们不需要一个对象来使用非静态方法吗?对于静态方法,我们需要使用类名,这就足够了.但是,为什么我们不需要对象来使用方法?例如:

//此代码不会生成任何错误.还有一些我不知道的东西?也许C#在methodB()之前添加一个隐藏的对象?

ClassA()
{
  public void methodA()
  {
    methodB();
  }
  public void methodB()
  {
  }
}
Run Code Online (Sandbox Code Playgroud)

c# methods static non-static

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

主类java中的static和构造函数中的非static

我只是想看看我是否能完全理解静态的概念和主类中静态的原因.关键字static指的是主类.主类中的方法是静态的原因是因为主类不处理对象而是处理类本身.

但是构造函数处理对象因此使用非静态构造函数,因为对象具有独特的特性,并且将它们设置为静态是没有意义的.

如果有人能够看到我在声明中犯了错误或者能指引我朝着正确的方向前进,那将对我有所帮助!:)

java static constructor class non-static

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

在不实例化其类的情况下调用公共"非静态"变量或方法

有没有办法调用公共非静态变量或方法而不实例化其类java ...

java non-static

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

无法从静态调用非静态方法 - 同一个类

我有一个类,在其中我有一些静态和一些非静态方法,所以当我试图从静态方法访问非静态方法时,我得到了那个着名的错误.每当我在这个论坛上搜索时,我会在有两个课程的时候得到解决方案.我的问题是如果它们在同一个类中,如何从静态方法调用非静态方法?

我正在努力

new ClassName().methodName(); 
Run Code Online (Sandbox Code Playgroud)

但我的方法包含发送Intent和finish(),所以如果我创建其他对象而不是完成不起作用.

java methods static non-static

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

更改C#中方法中的几个变量以便Main()识别

我在Main中声明了两个变量,并在一个非静态方法中更改了它们,它接收了一些变量(包括我改变的两个变量)并返回另一个变量,但是在使用return()之后Main不会识别其他变量的变化;和值不断重置.如何让它识别出变化?

    string Attack(int Mhp, int Chp, int Cdmg, int Mdmg, string charname)
    {
        string res;
        Mhp -= Cdmg;
        Chp -= Mdmg;
        Console.WriteLine();
        res=charname + "'s Health has been reduced to " + Chp +", and Monster's Health                reduced to " + Mhp;
        return(res);
    }
Run Code Online (Sandbox Code Playgroud)

Mhp和Chp保持与我在Main()中声明的相同;如果角色的健康状况不断重置,我的代码将毫无意义.

提前致谢!

c# non-static

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

非静态数据成员初始化程序c ++

non-static data member initializers only available with -std=c++11 or -std=gnu++11 
[enabled by default]
     int Red = 255;
non-static data member initializers only available with -std=c++11 or -std=gnu++11
[enabled by default]
     int Green = 255;
non-static data member initializers only available with -std=c++11 or -std=gnu++11 
[enabled by default]
     int Blue = 255;
Run Code Online (Sandbox Code Playgroud)

不知道为什么这不起作用.

struct color {
    int Red = 255;
    int Green = 255;
    int Blue = 255;
};
Run Code Online (Sandbox Code Playgroud)

c++ non-static data-members c++11

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

具有预定大小的 C++ 矢量会引发编译错误

我对 C++ 非常陌生,并尝试创建一个Student带有类型分数向量的简单类int

这是我的班级:

#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
#include <fstream>
#include <sstream>

using namespace std;

class Student {
    string last;
    string first;
    vector<int> scores(10);

public:
    Student():last(""), first("") {}
    Student(string l, string f) {
        last = l;
        first = f;
    }
    ~Student() {
        last = "";
        first = "";
    }
    Student(Student& s) {
        last = s.last;
        first = s.first;
        scores = s.scores;
    }
    Student& operator = (Student& s) {
        last = s.last;
        first …
Run Code Online (Sandbox Code Playgroud)

c++ compiler-errors reference vector non-static

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