如过我写了两个函数一个是static型的一个是非static型的
怎么样才能才static型的函数中调用非static型的函数
例如:
public static void first()
{
int m = 0;
System.out.println(m);
second();//这样调用会报错,应该怎么改?
}
public void second()
{
int i = 1;
System.out.println(i);
}
怎么样才能才static型的函数中调用非static型的函数
例如:
public static void first()
{
int m = 0;
System.out.println(m);
second();//这样调用会报错,应该怎么改?
}
public void second()
{
int i = 1;
System.out.println(i);
}
static方法的调用是不需要对象的,只需要类。例如main函数,在对象产生之前就已经存在。
而非static方法是需要对象的, 即创建了对象,此类函数才存在。所以static方法不能调用非static方法,但反过来可以。以上代码应改为:
public static void first()
{
int m = 0;
System.out.println(m);
YourClass yc=new YourClass();//先建立对象
yc.second();//然后调用此对象的方法
}
public void second()
{
int i = 1;
System.out.println(i);
}
而非static方法是需要对象的。