Java
 Computer >> コンピューター >  >> プログラミング >> Java

Javaでこれへの参照を割り当てることは可能ですか?


「これ」 Javaのキーワードは、インスタンスメソッドまたはコンストラクター内で現在のオブジェクトへの参照として使用されます。これを使用すると、コンストラクター、変数、メソッドなどのクラスのメンバーを参照できます。

Javaでこれへの参照を割り当てることは可能ですか?

「これ」への参照の割り当て

定義によると"this" 現在のオブジェクト(コンストラクター/メソッドを使用しているオブジェクト)への参照として機能するキーワードであり、その値IDは固定されています。したがって、新しい参照値を割り当てることはできません。さらに、これは単なるキーワードであり、変数ではありません。

それでも、それを行おうとすると、 "this"に参照値を割り当てます。 コンパイルエラーが発生します。

次のJavaプログラムでは、クラス(ExampleClass)に2つのプライベート変数name、age、およびこれらの変数をインスタンス化するパラメーター化されたコンストラクターがあります。 displayという名前のメソッドから、新しい値をに割り当てようとしています。 「これ」

public class ExampleClass {
   private String name;
   private int age;
   public ExampleClass(String name, int age){
      this.name = name;
      this.age = age;
   }
   public void display(){
      this = new ExampleClass("krishna", 23);
   }
}
コンパイル時エラー

コンパイル時に、このプログラムは以下に示すようなエラーを出します-

ExampleClass.java:14: error: cannot assign a value to final variable this
      this = new ExampleClass("krishna", 23);
      ^
1 error

  1. OpenCV Javaを使用して、画像内の可能なオブジェクトの周りに省略記号を合わせるにはどうすればよいですか?

    fitEllipse()を使用して、図形の上に楕円を合わせることができます の方法 org.opencv.imgproc.Imgproc クラス。このメソッドは、MatOfPoint2fクラスのオブジェクトを受け入れ、指定されたポイントのセットに適合する楕円を計算し、RotatedRectオブジェクトを返します。 これを使用すると、画像内の可能なオブジェクトの周りに楕円を描くことができます。そのためには、 imread()を使用して画像を読みます Imgprocクラスのメソッド。 cvtColor()を使用してグレースケール画像に変換します Imgprocクラス

  2. Pythonで変数への参照を割り当てることはできますか?

    Pythonの変数の概念はC/C++とは異なります。 C / C ++では、変数はメモリ内の名前付きの場所です。ある値が別の値に割り当てられている場合でも、別の場所にコピーが作成されます。 int x=5; int y=x; たとえば、C ++では、&演算子は宣言された変数のアドレスを返します。 cout<x<<&x<<y<<&y; これにより、xとyの両方に同じ値が含まれていても、異なるアドレスが出力されます。アドレスを参照変数に格納することで、エイリアスを作成できます int x=5; int &y=x; y=10; c