int b;
static void print() {
System.out.println("这是一个静态的方法");
}
void print1() {
//在成员方法中访问静态成员变量
System.out.println(a);
print();//在成员那方法中调用静态成员方法
}
}
public class test {
public static void main(String[] args) {
test03 t3 = new test03();
t3.a = 1;
t3.print1();
}
}
class test03 {
static int a;
int b;
static void print() {
System.out.println("这是一个静态的方法");
}
void print1() {
//在成员方法中访问静态成员变量
System.out.println(a);
print();//在成员那方法中调用静态成员方法
}
}
public class test {
public static void main(String[] args) {
test03 t3 = new test03();
t3.a = 1;
t3.print1();
}
}
在一个程序中,如果某个方法被定义成静态的,这个方法就不能访问非静态的方法或变量。如果静态的方法要访问非静态的方法就会报错。下面的实例显示了静态方法不可以访问非静态变量:
[java]
print1();
}
void print1() {
//在成员方法中访问静态成员变量
System.out.println("这是一个非静态的方法");
}
}
public class test {
public static void main(String[] args) {
test03 t3 = new test03();
t3.a = 1;
t3.print1();
}
}
print1();
}
void print1() {
//在成员方法中访问静态成员变量
System.out.println("这是一个非静态的方法");
}
}
public class test {
public static void main(String[] args) {
test03 t3 = new test03();
t3.a = 1;
t3.print1();
}
}
上面的代码在静态方法print()中的System.out.println(b);和print1()这两行都会报错。因为在静态方法中访问了成员变量和非静态方法