这个问题可能是涉及non-static和static函数的关系,在non-static函数中可以调用static函数,反之就不行。而构造函数不是static函数,所以就可以调用non-static函数,看下面例子:public class Temp {
Temp() {
print(); //ok
}
void print() {
System.out.println("hello world");
}
public static void main(String[] args) {
//print(); //error:non-static method cannot be referenced from a static context
new Temp().print();
}
}
Temp() {
print(); //ok
}
void print() {
System.out.println("hello world");
}
public static void main(String[] args) {
//print(); //error:non-static method cannot be referenced from a static context
new Temp().print();
}
}
解决方案 »
- jar到底如何加入classpath啊
- 请问我的 日期 框架 在 火狐能显示日历在 ie 360 为啥不显示
- java在线等:我想问一下这段游戏代码是怎么样实现蛇头不断移动(用哪些代码实现),还有就是蛇吃到食物后蛇头和蛇身怎么变换,怎么实现蛇身加1??(完整代码在附件中)
- 使用compass lucene 中文搜索不出来。。。
- 2个ArrayList的问题
- JAVA小鸟一个很简单的问题,希望各位尽量帮忙,万分感谢
- 对象引用的类型转换??
- 有人用过 HttpAsyncClient 的post提交吗?为什么总是失败啊?麻烦大家帮忙看看?代码可以直接运行的啊~~~~~~~~~~~~~~~~~~~
- 关于java socket的问题??紧急求救!!!!
- 遍历list的不同方法有哪些
- 一个关于字符串的问题!
- 关于内部类的问题
当然在Constructor中可以调用non-static method,其实写全了就是this.aMethod();
所以说non-static method只有在intstace中使用,是独立的多个Instance都独立执行自己的的aMethod()
而static method是在Load Class时加载的,只要 (Instance instanceof ThisClass)都可以调用这个类的static Method我不知道我的解释是否确切,请后人继续补充或提出批评
在类进行实例化的时候有一个隐藏参数this,它对于本类内部的使用相当于Object's Reference,你说的问题根本就不是什么问题,因为加入this来理解是与其它显式引用是一样的,与函数是否static没关系