谁能启发我吗?我试图访问属于父类(主小程序类)的对象中的套接字。我希望我能让这对你来说更简单。有点拗口,但也许我的消息来源会进一步解释一下。
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
import java.net.UnknownHostException;
import javax.swing.JApplet;
import javax.swing.JOptionPane;
class SocketsC {
Socket clientsocket;
static PrintWriter out;
static BufferedReader in;
public void SocketsC() {
}
public void connectSock() {
try {
clientsocket = new Socket( "localhost", 9900 );
out = new PrintWriter(clientsocket.getOutputStream(), true);
in = new BufferedReader(new InputStreamReader( clientsocket.getInputStream()));
} catch (UnknownHostException e) {
System.exit(1);
} catch (IOException e) {
System.exit(1);
}
}
}
class AccessSock {
AccessSock() {
// Here is where I am trying to access the socket from the mysocks object
mysocks.out.println( "working" ); // This doesn't work...
}
}
public class main extends JApplet {
static SocketsC mysocks;
public void init() {
createApp();
}
public void createApp() {
SocketsC mysocks = new SocketsC();
AccessSock sendtext = new AccessSock();
}
}
泰亚 -罗兰
最佳答案
由于您已将 mysocks
定义为静态,因此需要使用 className.variable
来访问它。
static SocketsC mysocks;
更改此:
mysocks.out.println( "working" );
至
main.mysocks.out.println( "working" );
这应该有效。因为您的类中没有名为 mysocks
的变量。它抛出错误。
关于java - 尝试与父类中的对象共享套接字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15059911/