比如:
public class Example {
void idea() {
}
public static void main(String args[]) {
new Example().idea();//这里居然不报错. main方法是个静态方法,java中不是明文规定在静态方法中不能调用非静态方法吗?
}
}
希望大家给我点意见。我学java很久了,还没注意到这个问题。
public class Example {
void idea() {
}
public static void main(String args[]) {
new Example().idea();//这里居然不报错. main方法是个静态方法,java中不是明文规定在静态方法中不能调用非静态方法吗?
}
}
希望大家给我点意见。我学java很久了,还没注意到这个问题。
像这样的:
public static void main(String args[]) {
idea();//这里居然不报错. main方法是个静态方法,java中不是明文规定在静态方法 }但是你这里是对象来调用的,就是:
Example e = new Example();
e.idea();
认真看书,耐心琢磨,问csdn作用不大
因为程序要执行肯定要从main()开始,main()是静态方法,所以不管他调用的是什么函数只能是静态的,比如他调用一个A()函数,那他也必须是静态的,那么A()里面调用的B.D.E.F.G.....N都只能是静态的,所以我们根本不需要非静态方法,因为他永远都不会用到
那么java设计者这群SB竟然设计出非静态方法这种根本用不到的东西,简直一群脑残、二百五!!!
LZ你是这意思吗?1楼说的好啊不能调用指的是在同一个类中,不能直接引用函数名来调用方法
public class Yun{
void a(){
//我是非静态方法
}
static void a(){
//我是静态方法
}
public static void main(String[] args){
a();//不能直接调用非静态方法
b();//可以直接调用静态方法
new Yun().a();//可以
new Yun().b();//当然也可以
}
}
Example.idea();
但是如果你上面这么写就错了~~~LZ好运
但是我试过了,在Yun中根本无法定义static的函数。所以只能使用static的方法。
Example.idea(); 这样就不行了