Я пишу код, который будет имитировать протокол Kerberos на Java. У меня есть класс сервера и класс клиента. Но некоторый контент является статичным, а другой контент - нет, плюс сокеты, я смешался, мягко говоря. Детали протокола, которые, я считаю, произвольны в этом вопросе.Доступ к родительскому экземпляру из дочернего потока
У меня есть класс сервера, который вызывает класс ServerThread:
public class Server{
public void someMethod(){ /* some code */ }
public static void main(String args[]){
ServerSocket serverSocket = new ServerSocket(port);
new ServerThread(serverSocket.accept()).start();
}
}
public class ServerThread extends Thread{
/* constructor (takes serverSocket from Server) */
this.parent.someMethod();
/* That would call someMethod() from the parent class Server instance
* that instantiated this.
*/
}
Часть класса серверов, которые инстанцируют ServerThread было дано мне, я должен использовать его как есть. Метод someMethod(), который я написал сам, это тот, который я хочу использовать с ServerThread. Есть ли способ сделать это, вызывая строку кода, которая говорит this.parent.someMethod() ;? Если можно, есть ли способ получить доступ к обоим классам из одного класса контроллера или статический контент или нестатический контент разрушают эту идею?
Когда выделен экземпляр «Server»? –
извините, сервер создается в основном методе сервера прямо перед сервером. Это можно перемещать. Любой из этого кода можно перемещать. При необходимости основной метод может быть в отдельном классе. – rshaq