package ya.Sample;
import android.app.*;
import android.os.*;
import android.widget.*;
public class Sample2 extends Activity
{
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
LinearLayout ll = new LinearLayout(this);
setContentView(ll);
TextView tv = new TextView(this);
tv.setText("ようこそアンドロイドへ!");
ll.addView(tv);
}
}
このサンプルにおいてLinearLayout ll = new LinearLayout(this)のthisの指すものについて質問があります。私がこのthisはSample2を指すんですよねと質問したところ
引数thisは Sample2 を指しますよね
大雑把な理解だなぁ。
Sample2は「型」なのだから、例えば「整数」や「文字列」のような概念だ。
thisは特定のインスタンスを指すのだから、1024とか"abc"とか、そのクラスに属するもののうち、特定の具象を指すものだ。
27や47が整数である、というのと同じ意味で、thisはSample2ではあるのだが、こういう場合は普通「thisはSample2のインスタンスである」と表現する
とある方に回答をいただいたのですが
「thisはSample2のインスタンスである」と表現する
の部分のインスタンスが理解できません・・・
インスタンスとはClassから製造されたObjectであるはずですからこの場合
Sample2クラスを雛型として作られたObjectをThisは指すとかってに再解釈してしまい、
この引数Thisはオブジェクトのことでありnew LinearLayout(this)において、LinearLayoutは引数にオブジェクトを持っているということでしょうか?そして継承関係よりこのオブジェクトはContextクラス(?)も含んでいるため、LinearLayoutクラスのLinearLayout(Context context)は呼び出しに成功するということなのでしょうか?
今までJavaの引数で見てきたのが実数や文字だったので、引数がオブジェクト(?)なのにちょっと違和感がありまして・・・
回答していただけたらうれしいですよろしくお願いいたします!!!
No.4ベストアンサー
- 回答日時:
>「thisはSample2のインスタンスである」
>で正しいのでしょうか?
質問に書いてある
>LinearLayout ll = new LinearLayout(this);
や
>TextView tv = new TextView(this);
においては正しいです。
私としては、クラスやインスタンス、オブジェクトが、それぞれが何の事で、どう異なるかは、安易に理解した気にならずに悩むだけ悩んで理解した方がよいかと思います。
No.3
- 回答日時:
>そして継承関係よりこのオブジェクトはContextクラス(?)も含んでいるため、
「このインスタンスは、Contextクラスのインスタンスでもあるため、」ではないかなぁ。
>LinearLayout ll = new LinearLayout(this);
上記のthisがSample2だということになると
LinearLayout ll = new LinearLayout(ya.Sample.Sample2.class);
と書くこともできることになっちゃいますけど。
この回答への補足
ご指摘ありがとうございます!!
結局Thisが指しているのは何なんでしょうか?
「thisはSample2のインスタンスである」
で正しいのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 英語 "this day"が当日か今日を表すのかの使い分け方等について 5 2023/08/08 14:29
- アプリ Android studio 初心者 Hello Android!しか表示されない 1 2023/08/01 08:47
- 英語 「this is the/my first time~」の文法上の制約について 1 2023/04/06 09:48
- Java JavaのSingletonパターンのprivateの持つ意味が分かりません。 5 2022/06/12 10:38
- その他(プログラミング・Web制作) このプログラミングをどう組みますか? Googlecolabでやってるんですが、出来る方お願いします 1 2022/07/13 10:52
- 英語 Statistically significant differences (p < 0.05), 5 2022/05/03 01:09
- Visual Basic(VBA) VBA This Workbookモジュールを別ファイルにコピーする方法 1 2022/09/14 01:51
- TOEFL・TOEIC・英語検定 この本の訳まちがいではありませんか? 1 2022/11/15 11:52
- UNIX・Linux sedでの正規化 2 2022/05/10 11:39
- PHP style.cssのjQuery条件付きcssが機能しない 4 2022/07/17 18:27
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
インスタンス参照でアクセスで...
-
複数の変数を宣言する時、同時...
-
VB.NET getとsetの概念がわかり...
-
変数名の付け方
-
private static という変数の修飾
-
フォームの存在をチェックする方法
-
C#でオブジェクトの有無を取得する
-
newしないインスタンス?実体化...
-
C#において、同じインスタンス...
-
フォームのCheck boxとOLEObjec...
-
C# インスタンスの破棄
-
VC#での24ビットbmp形式での保...
-
Eclipse3でVisualEditorが起動...
-
「インスタンス」の意味をわか...
-
生成したインスタンスを削除す...
-
javaのクラスの作り方、エラー...
-
自クラスをnewしたインスタンス...
-
C# 外部のDLLの名前空間取得方...
-
変数の参照でエラーが出てしま...
-
オブジェクト参照がオブジェク...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
変数名の付け方
-
インスタンス参照でアクセスで...
-
private static という変数の修飾
-
VB.NET getとsetの概念がわかり...
-
C# インスタンスの破棄
-
複数の変数を宣言する時、同時...
-
C#において、同じインスタンス...
-
生成したインスタンスを削除す...
-
SQLを連続発行する時の正しい(?...
-
文字列を日付に変換でParseExce...
-
変数の参照でエラーが出てしま...
-
エクセル(複数インスタンス)...
-
フォームの存在をチェックする方法
-
VB6.0で、DLLを動的に参照したい
-
String a = "a"; と String b =...
-
C#「オブジェクト参照が必要で...
-
newしないインスタンス?実体化...
-
「インスタンス」の意味をわか...
-
SetWindowsHookExで質問
-
フィールドでのnewとコンストラ...
おすすめ情報