이전에 익명의 내부 클래스가 "외부"클래스의 필드를 보지 못했을 때 문제가있었습니다. 내부 클래스에 표시되도록 최종 변수를 만들어야했습니다. 이제 나는 정반대의 상황에 처해있다. "외부"클래스 "ClientListener"에서는 "내부"클래스 "스레드"와 "스레드"클래스를 사용하고 "실행"메서드를 사용하고 "외부"클래스에서 "earPort"를 봅니다! 왜?내 내부 클래스에 정적 변수 NON이 표시되는 이유는 무엇입니까?
import java.io.IOException;
import java.net.*;
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class ClientsListener {
private int earPort;
// Constructor.
public ClientsListener(int earPort) {
this.earPort = earPort;
}
public void starListening() {
Thread inputStreamsGenerator = new Thread() {
public void run() {
System.out.println(earPort);
try {
System.out.println(earPort);
ServerSocket listeningSocket = new ServerSocket(earPort);
Socket serverSideSocket = listeningSocket.accept();
BufferedReader in = new BufferedReader(new InputStreamReader(serverSideSocket.getInputStream()));
} catch (IOException e) {
System.out.println("");
}
}
};
inputStreamsGenerator.start();
}
}
합니다. – CiscoIPPhone