Java――类的应用(一) (三)

2014-11-24 11:52:33 · 作者: · 浏览: 60
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();

}

}

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()这两行都会报错。因为在静态方法中访问了成员变量和非静态方法