2015-11-02 1 views
1

Мой вопрос прост. Как запустить первую функцию этого класса (2) в другом классе (1)? (1) этот класс - мой основной класс, (2) этот второй, созданный внутри первого.Вызов первой функции класса (Threads)

Код класса (2):

private class ConnectedThread extends Thread { 

    public ConnectedThread() { 
     //This function!!!!!!!!!!! 
    } 

    public void run() { 
     //blah blah blah 
    } 

    public void write(byte[] bytes) { 
     //blah blah blah 
    } 

    public void cancel() { 
     //blah blah blah 
    } 
} 

я получил что-то в моем коде, как ConnectedThread connect; и когда я печатаю connect. программа показывает мне "запустить()", "отменить()" ... Все, но эту функцию я хочу запустить. Как это решить? Благодаря!

+1

Вы используете ключевое слово 'new'. Это не функция действительно ... ее специализированный метод, называемый конструктором. EG ConnectedThread t = new ConnectedThread(); –

+0

Я не хочу превращать его в функцию. Я хочу запустить этот фрагмент кода в моем основном классе ... Спасибо за ваш ответ –

+0

FYI, когда вы используете этот конструктор, вы не «запускаете его в другом классе». Вы просто «вызываете» его. Конструкторы и методы _called_ другими конструкторами и методами. Другие конструкторы и методы могут быть _in_ (или _belong to_) того же класса или в других классах. –

ответ

0

ConnectedThread() здесь не является функцией. Это конструктор класса. Если вы хотите сделать его функцией, то измените его на public void ConnectedThread(). Но тип возврата (например, void) не является разрешено использовать для конструктора. Поэтому вы также должны изменить имя функции.

public void functionName(){ 


} 
+0

Я не хочу превращать его в функцию. Я хочу запустить этот фрагмент кода в своем основном классе ... Спасибо за ваш ответ –

Смежные вопросы