2012-03-12 9 views
-1

私はスレッドが初めてで、実装方法を理解するのには苦労しています。私は彼らが何で、どのように働いているのかを基本的に理解しています。Javaコンストラクタのthisとsuperキーワード

今、私は2つのファイルを持っており、それらはソケットで接続されており、私はwritebytesを前後にすることができます。この割り当ての目的は、複数のユーザビリティを有効にすることです。それで、私はメッセージをタイプして同時に受信できるようにしたいということです。これはスレッドが入ってくるところです。

スレッドページのチュートリアルを含む多くのサイトやオラクルページの記事を読んでいますが、スレッドの実装方法についてはまだ分かりません。私が今まで知っているのは、

  1. です。スレッドクラスを拡張することも、実装することもできます。私は現在スレッドクラスを拡張しています。
  2. コンストラクタを作成することで、そのコンストラクタをスレッドとして呼び出すこともできます。私はおよそ混乱している何

は:

  1. チュートリアルの多くは、参照で「この」キーワードを使用して、あなたがそれを使用する理由私はそれが何であるかについて混乱だと。
  2. 多くのチュートリアルでは、「スーパー」キーワードも使用しています。私はいつもそれが何で、なぜそれを使うのか混乱しています。

私は、これらの2つのクラスを接続するためのさらなる情報と私の現在のコードを提供することができます。このトピックに関連するフィードバックは非常に高く評価されます。

+0

Java Concurrency in Practiceを読んでください。これは、私がすべての言語に対して読んだ適用された並行性に関するベスト・ブックです。 – mindvirus

+1

[このキーワードの使用](http://docs.oracle.com/javase/tutorial/java/javaOO/thiskey.html)および[キーワードスーパーの使用](http:// docs .oracle.com/javase/tutorial/java/IandI/super.html)? –

+2

私は失礼ではありませんが、スレッドは正しくプログラムするには非常に複雑な獣です。そして、もしあなたが 'これと'スーパー 'が何であるのか分からなければ、あなたがスレッドを混乱させるのは早すぎるのです。基本から始め、オブジェクトと継承が何であるかを学びます。 –

答えて

2

まず、thissuperのJavaのドキュメントを参照してください。

更新: あなたのコメントに基づいて、コンストラクタを呼び出すように見えます。

this(/*args*/) 

は、多くの場合、オブジェクトの代替コンストラクタを呼び出すために使用できます。同じです

super(/*args*/) 
+1

これは答えではありません。それはコメントでなければなりません。 –

+0

私はこれが変数を参照しているときこれを理解します。オブジェクトの値ではなくオブジェクトを参照すると、それを使用することはできますが、そのメソッドに関しては、オブジェクトを使用するときに何をしているのか分かりません。 行(0、0、幅、高さ)です。 –

+0

これは、このJavaチュートリアルで提供したリンクからのものです。 public class Rectangle { private int x、y; プライベートint幅、高さ; public Rectangle(){ this(0、0、0、0); } public Rectangle(int width、int height){ これは(0、0、幅、高さ); } public Rectangle(int x、int y、int width、int height){ this.x = x; this.y = y; this.width = width; this.height = height; } ... } –

関連する問題