我是Java的新手(但我对C ++有一些了解),但我找不到现有主题的答案。
我有一个包含静态方法的公共类。这个创建了一些Threads,每个Threads实例化一个这个类的实例,每个实例都有一个阻塞处理。
我尝试添加一个Runnable作为这个类的一个字段,但我对如何正确地执行它有点困惑...
do.call(rbind,
c(lapply(mydflist,
function(x) data.frame(c(x, sapply(setdiff(allNms, names(x)),
function(y) NA)))),
make.row.names=FALSE))
答案 0 :(得分:0)
您正尝试在不属于实例对象但属于该类的方法中访问实例变量(即属于对象的变量)。 static
函数和变量是类全局的,但不能从实例访问变量,因为没有隐式this
。
class Foo {
private int value = 2;
private static int woz = 6;
public void foo() {
System.out.println(value); // ok, access instance variable in instance method with implicit this object
System.out.println(woz); // ok, access 'class global' variable
}
public static void bar() { // is a 'class' method, not an instance method
System.out.println(value); // can't because there is no 'this' object here
System.out.println(woz); // ok, access 'class global' variable
}