2016-06-20 1 views
0

Здесь я получил маленький сервер телнета: http://bits.works/view/12a997df#L44Java Telnet Server: Доступ к методу из другого класса

В строке 63 с методом out.println(); я могу отправить сообщение клиенту. Теперь я хотел бы получить доступ к методу out.println(); от класса meineklasse?

class meineklasse 
{ 

tuwas(String line) 
{ 
out.println(line); 
} 
} 

Как я могу это решить?

+0

Сделать метод общественности? – Igoranze

+0

Какой метод 'out.println()'? Вы имеете в виду 'System.out.println()'? – EJP

+0

Как указано в EJP, ваш код ссылается на System.out.println(). – basic

ответ

2

Вы можете пройти out в конструкторе:

class meineklasse 
{ 
    private PrintStream out; 

    meineklasse(PrintStream out) { 
     this.out = out; 
    } 
    tuwas(String line) 
    { 
     out.println(line); // perfectly defined now because out is an attribute 
    } 

} 

И использовать его таким образом:

 meineklasse meins =new meineklasse(out); 
     meins.tuwas(line); 
+0

Примечательно: Это тип инъекции зависимости, называемой * Инъекция конструктора *. –