静态变量或静态方法在类加载进内存时就存在了,而非静态则是在创建实例(类创建对象)时加载进内存,非静态的变量或方法,jvm根本没有读入它,所以就只编译成了class文件,所以对于静态的变量或方法可以通过 类名.变量;类名.方法()调用;对于 非静态来说就需要创建实例(对象来调用)
在主类中调用变量时(函数 和变量相同)
如果变量是本类的,若是静态,直接调用,若是非静态,创建主类对象进行调用;
如果变量是其他类,若是静态,通过类名.变量来调用,若是非静态,创建其他类的对象进行调用。
class A
{
static num;
static void say();
}
class B
{
int sum;
public static void main(String[] args)
{
A a=new A();
a.num;
a.say();
B b=new B();
b.sum;
}
}
在主类中调用变量时(函数 和变量相同)
如果变量是本类的,若是静态,直接调用,若是非静态,创建主类对象进行调用;
如果变量是其他类,若是静态,通过类名.变量来调用,若是非静态,创建其他类的对象进行调用。
例如 :
class A
{
static num;
static void say();
}
class B
{
int sum;
public static void main(String[] args)
{
A a=new A();
a.num;
a.say();
B b=new B();
b.sum;
}
}