66问答网
所有问题
静态函数当中使用非静态变量
在静态函数当中不是不能直接使用非静态的成员嘛,现在想调用,该怎么写?
举报该问题
推荐答案 2011-11-17
你好,静态函数虽然不能直接调用非静态的成员变量,但是可以调用类的实例的非静态成员变量,代码如下
public class test {
static String a;
public static String getA(test test){
return test.a;
}
}
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://66.wendadaohang.com/zd/pDpiD2x2p.html
其他回答
第1个回答 2011-11-17
那它就不应该是个静态函数
逻辑上就有问题。静态函数在类上调用,也就是说不需要实例化出对象就可以使用。非静态变量就是传说中的实例变量,需要先得到类的实例——对象,之后才能存在。本回答被提问者采纳
第2个回答 2011-11-18
弄个对象在用 二楼的好像弄反了
public class test {
String a;
public static String getA(test test){
return new test().a;
}
}
相似回答
c++中类的static成员
函数
如何
使用
类的
非static
成员
变量
?
答:
static函数没有归属的对象,自然也就使用不了对象的成员变量。但是它可以修改其他对象的成员变量
。你可以创建一个"对象",再把"对象"作为参数,传递给static函数,然后再在static函数内修改此对象参数内部的成员变量,即可。
怎样让静态成员
函数
访问
非静态
成员
变量
?
答:
静态成员函数不能访问非静态成员变量,这是规定
。 但是你可以换下解决问题的思路。线程的入口函数除了可以锁静态成员函数,也可是全局函数。 在全局函数里获取主窗口的句柄之后,接下来可以访问各种成员变量。希望对你有帮助。
静态方法中可以
用非静态变量
吗
答:
不可以。jvm在加载类的时候,会首先加载静态方法和
静态变量
。这个时候实例变量还不会加载。如果在静态方法
中使用
实例变量,jvm是不认识这个变量的
MFC
中静态
成员
函数
调用其他类的
非静态变量
答:
class mainclass { public:int fn() { return 1;} mainclass() { } };class childclass :public mainclass { private:
static
childclass *mInstance;childclass() { } public:static childclass *getInstance() { if (mInstance == null) { mInstance = new childclass();} return m...
java
中静态
方法不是说不能存在
非静态变量
的吗?那为什么这样写又可以...
答:
通俗(举例):静态方法相当于 长辈,非静态方法(变量)相当于晚辈。静态方法不能调用
非静态变量
是因为,当长辈出生的时候,他不知道会有晚辈。而晚辈出生的时候他是知道有个长辈的。以下代码才有误 public class Test { private int a ;public
static
void main(String args[]) { a = 1;} } ...
类的静态方法(
函数
)
中
为什么不能调用
非静态
成员(属性)?
答:
在C++程序中,静态成员函数主要用来访问静态数据成员,而不访问
非静态
成员。假如在一个静态成员
函数中
有以下语句: cout<<height<<endl; //若height已声明为
static
,则引用本类中的静态成员,合法 cout<<width<<endl; //若width是非静态数据成员,不合法。但是,并不是绝对不能引用本类中的非静态成员...
大家正在搜
静态函数中声明的变量是静态变量吗
非静态成员函数访问静态成员变量
静态全局变量与静态局部变量
静态局部变量在其他函数中
静态局部变量可以被另一个函数调用
static变量和静态函数
在一个函数内定义的静态局部变量
静态函数访问成员变量
静态函数和普通函数
相关问题
java中如何用静态方法访问非静态变量
c++ 如何在非静态函数中使用静态变量?
非静态方法可以调用静态方法与变量吗
为什么不能从静态的方法里面调用非静态方法,或变量
类的静态方法(函数)中为什么不能调用非静态成员(属性)?
静态方法中为什么可以定义非静态变量
静态方法里可以调用非静态变量吗
为什么静态方法中不能调用非静态的全局变量