标题: 函数调用的问题。 [打印本页] 作者: itisdream 时间: 2014-6-27 10:56 标题: 函数调用的问题。 class A
{
int x ,y;
static float f(int a)
{...}
float g(int x1,int x2)
{...}
}
A a1 = new A();
为什么不可以这样调用:A.g(3,2)
又可以这样调用:a1.g(3,2);作者: jianpan 时间: 2014-6-27 11:13
类A中的g函数不是静态函数只能用A类的对象来调用,不可用类来直接调用。作者: 燿陚√揚葳 时间: 2014-6-27 11:49
主要是静态函数和非静态函数的区别:
静态方法可以直接被类名所调用
非静态只能是建立了对象,用对象调用非静态方法
可以这么理解,静态先于对象而存在,所以可以直接类名调用。而非静态只有类被加载后建立对象,这时候内存中才有这个方法,才能够被调用
当然了静态方法也可以用对象调用
class Test{
public static void show(){
System.out.println("static show");
}
public void method(){
System.out.println("method");
}
}
public class Demo {
public static void main(String[] args){