首先建议你使用命名规范,其次,li的作用域只在launch();里面,它是一个局部变量,一个变量的作用域(不一定是生存域,也就是可见范围)判断最简单的方法是看它创建时的前面的一个 { 和与之对应的 }。
要想在整个类里可见,必须把它定义成Field member,
class MyLinkedList{
static MyLinkedList head;
MyLinkedList next;
........
public void doSomething(){
MyLinkedList previous=new MyLinkedList();
System.out.println(next);
System.out.println(previous);
}
}
在整个范围next都起作用,而previous只在doSomething里起作用,
另外,在static的方法不能访问非static 的Field Member(如上例next),但是可访问static的(如head), static的Field Members 无论在哪个实例(也就是无论怎么new它)都是共享同一个的,而非static的,在每个实例里都是不同的。
要想在整个类里可见,必须把它定义成Field member,
class MyLinkedList{
static MyLinkedList head;
MyLinkedList next;
........
public void doSomething(){
MyLinkedList previous=new MyLinkedList();
System.out.println(next);
System.out.println(previous);
}
}
在整个范围next都起作用,而previous只在doSomething里起作用,
另外,在static的方法不能访问非static 的Field Member(如上例next),但是可访问static的(如head), static的Field Members 无论在哪个实例(也就是无论怎么new它)都是共享同一个的,而非static的,在每个实例里都是不同的。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货