2014-02-16 3 views
1

k, я прохожу через несколько учебных игр по разработке игр Java, и мне нужно работать с Threads, и есть «эта» вещь Thread thread = new Thread (this); , что я не могу понять, я реализую свой класс «Runnable». Что я думаю об этом, так это то, что «это» относится к Runnable для поиска метода Run, который я определил в MY Class. И если я этого не сделаю, он не будет искать метод Run() здесь в моем классе. Не знаю, если M-Effed, но, пожалуйста, исправьте меня, если я ошибаюсь ....Что делает это в Java?

+11

Пожалуйста, пожалуйста, пожалуйста, найти книгу по основам объектно-ориентированного программирования и читать его , –

+0

Но я действительно не понимаю. Здесь много людей, которые начинают сложное реальное приложение без каких-либо знаний Java (или других PL) ... –

ответ

2

this - это pseudo-variable, который указывает на текущий экземпляр, на сам объект, где выполняется этот метод. Так, например:

public class Person { 
    private String name; 
    public void setName(pName) { 
     this.name = pName 
    } 
} 

Person p = new Person(); 
p.setName("Peter"); 

В приведенном выше коде, мы присваиваем новый name"Peter" к этот человек p, текущий экземпляр класса Person. Другими словами, с точки зрения p, this указывает на p.

+0

Большое спасибо :) Я получил это ... –

0

@ Óscar López объясняет, что означает this.

Если ваш код содержит следующее:

Thread thread = new Thread(this); 

затем this относится к экземпляру класса, который содержит это утверждение. Кроме того, это экземпляр, который запускает код. Кроме того, спецификация API для этих конструкторов Thread означает, что this должен быть экземпляром класса, который реализует Runnable.

Короче говоря, ваш класс должен быть объявлен как implements Runnable, и он должен иметь метод с этой подписью:

public void run()