这两个a对象不在同一个范围里面
比如:
for(int i=0;i<vector1.size();i++){
//do something
}
for(int i=0;i<vector2.size();i++){
//do something
}
可以重复定义i变量
在if,while和不同方法区间也是一样,
他们是局部变量,互不干涉
比如:
for(int i=0;i<vector1.size();i++){
//do something
}
for(int i=0;i<vector2.size();i++){
//do something
}
可以重复定义i变量
在if,while和不同方法区间也是一样,
他们是局部变量,互不干涉
ServerSocket rServer=null;
Socket request=null;
Thread receiveThread=null;
try{
rServer=new ServerSocket(RECEIVE_PORT);
while(true){
request=rServer.accept();
receiveThread=new serverThread(request);
receiveThread.start();
}
}catch(IOException e){
System.out.println(e.getMessage());}
}
public static void main(String args[]){
new receiveServer();
}
}serverThread是Thread的子类
new serverThread(request); 就这里一次而已
你大概是说while里面重复是吗?
receiveThread是个引用,你不断得产生新的对象,然后用receiveThread去指向它
所以不是重复,而是修改引用指向的对象
而以前产生的对象就只能等待回收了
所以看上去receiveThread好象就是个对象了,其实用receiveThread
操作的是那个对象,比如,喝水吧,不能直接拿水,用杯子装
杯子就是引用了,水是对象,你可以再往杯子装新水,就是产生新的对象
旧的就不见了,没杯子装的话,jvm就会回收它,当作垃圾
记住一点,java里的所有对象的变量名称都是引用。